Changeset 3779 for 2012


Ignore:
Timestamp:
2012-07-26 16:35:58 (7 years ago)
Author:
otelretu
Message:
 
Location:
2012/30/OtsoR
Files:
163 added
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • 2012/30/OtsoR/Pong/Pong/Pong/Pong.cs

    r3719 r3779  
    2929    void LuoKentta() 
    3030    { 
    31         //Gravity = new Vector(0, -800); 
     31        Gravity = new Vector(0, -800); 
    3232        pallo1 = LuoPallo(-200, 100); 
    3333        LuoPallo(20, 0, 20, 20, Color.Blue, Shape.Circle); 
     
    9797        maila.Shape = Shape.Rectangle; 
    9898        maila.Color = vari; 
    99         maila.CanRotate = false; 
     99        maila.CanRotate = true; 
    100100        maila.X = x; 
    101101        maila.Y = y; 
  • 2012/30/OtsoR/Projekti/Projekti/Projekti/Projekti.cs

    r3770 r3779  
    2222 
    2323    Label number; 
     24    Label number2; 
    2425    Label weaponlabel; 
     26    Label weaponlabel2; 
    2527    Widget Aluskuva; 
     28    Widget Aluskuva2; 
    2629    IntMeter shipimg; 
    2730    IntMeter shipcolor; 
    2831    IntMeter shipwpn; 
     32    IntMeter shipimg2; 
     33    IntMeter shipcolor2; 
     34    IntMeter shipwpn2; 
    2935 
    3036    public override void Begin() 
     
    3642 
    3743        IsMouseVisible = true; 
    38         MultiSelectWindow numberofplayersmenu = new MultiSelectWindow("Select number of players", "Singleplayer", "Multiplayer/Co-op", "Quit"); 
     44        MultiSelectWindow numberofplayersmenu = new MultiSelectWindow("Select number of players", "1 Player", "2 Players", "Quit"); 
    3945        numberofplayersmenu.ItemSelected += mainmenu; 
    4046        Add(numberofplayersmenu); 
     
    4652            case 0: 
    4753                ClearAll(); 
    48                 Singleplayer(); 
     54                singleplayer(); 
    4955                 
    5056                break; 
    5157            case 1: 
    5258                ClearAll(); 
    53                 MultiPlayer(); 
     59                coop(); 
    5460                break; 
    5561            case 2: 
     
    5864        } 
    5965    } 
    60     void Singleplayer() 
     66    void singleplayer() 
    6167    { 
    6268        Aluskuva = new Widget(50, 50); 
     
    103109        List<Label> valikonKohdat; 
    104110        valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 
    105         Label kohta1 = new Label("Ready");  // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 
     111        Label kohta1 = new Label("Start");  // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 
    106112        kohta1.Position = new Vector(0, -100);  // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 
    107113        valikonKohdat.Add(kohta1);  // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 
     
    111117            Add(valikonKohta); 
    112118        } 
    113         Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, gamemode, null); 
     119        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, singleplayerbase, null); 
    114120    } 
    115121    void Changeship(int vanha, int uusi) 
     
    118124        Aluskuva.Image.ReplaceColor(Color.White, shipcolors[shipcolor.Value - 1]); 
    119125        Aluskuva.Image.ReplaceColor(Color.Black, shipcolors2[shipcolor.Value - 1]); 
     126    } 
     127    void Changeship2(int vanha, int uusi) 
     128    { 
     129        Aluskuva2.Image = shipimages[shipimg2.Value - 1].Clone(); 
     130        Aluskuva2.Image.ReplaceColor(Color.White, shipcolors[shipcolor2.Value - 1]); 
     131        Aluskuva2.Image.ReplaceColor(Color.Black, shipcolors2[shipcolor2.Value - 1]); 
    120132    } 
    121133    void Createship() 
     
    132144        ship.Add(weapon); 
    133145    } 
    134     void MultiPlayer() 
    135 { 
    136  
    137 } 
     146    void Createship2() 
     147    { 
     148        ship2 = new PhysicsObject(16, 16, Shape.FromImage(Aluskuva2.Image)); 
     149        ship2.Image = Aluskuva2.Image; 
     150        ship2.Restitution = 1.0; 
     151        ship2.KineticFriction = 0.0; 
     152        ship2.MomentOfInertia = Double.PositiveInfinity; 
     153        ship2.LinearDamping = 0.95; 
     154        ship2.AngularDamping = 0.95; 
     155        Add(ship2); 
     156        choice(shipwpn2.Value); 
     157        ship2.Add(weapon2); 
     158    } 
     159    void coop() 
     160    { 
     161        Aluskuva = new Widget(50, 50); 
     162        Aluskuva.X = -300; 
     163        Aluskuva.Y = 250; 
     164        Aluskuva.Image = shipimages[0]; 
     165        Add(Aluskuva); 
     166 
     167        Aluskuva2 = new Widget(50, 50); 
     168        Aluskuva2.X = 300; 
     169        Aluskuva2.Y = 250; 
     170        Aluskuva2.Image = shipimages[0]; 
     171        Add(Aluskuva2); 
     172 
     173        shipimg = new IntMeter(1, 1, 100); 
     174        shipimg.Changed += Changeship; 
     175        shipwpn = new IntMeter(1, 1, 3); 
     176        shipwpn.Changed += delegate { weaponlabel.Text = weaponnames[shipwpn.Value - 1]; }; 
     177        shipcolor = new IntMeter(1, 1, 4); 
     178        shipcolor.Changed += Changeship; 
     179        shipimg2 = new IntMeter(1, 1, 100); 
     180        shipimg2.Changed += Changeship2; 
     181        shipwpn2 = new IntMeter(1, 1, 3); 
     182        shipwpn2.Changed += delegate { weaponlabel2.Text = weaponnames[shipwpn2.Value - 1]; }; 
     183        shipcolor2 = new IntMeter(1, 1, 4); 
     184        shipcolor2.Changed += Changeship2; 
     185 
     186        number = new Label(); 
     187        number.BindTo(shipimg); 
     188        number.X = -300; 
     189        number.Y = 300; 
     190        Add(number); 
     191 
     192        number2 = new Label(); 
     193        number2.BindTo(shipimg2); 
     194        number2.X = 300; 
     195        number2.Y = 300; 
     196        Add(number2); 
     197 
     198        weaponlabel = new Label(weaponnames[0]); 
     199        weaponlabel.X = -225; 
     200        weaponlabel.Y = 125; 
     201        Add(weaponlabel); 
     202        weaponlabel2 = new Label(weaponnames[0]); 
     203        weaponlabel2.X = 425; 
     204        weaponlabel2.Y = 125; 
     205        Add(weaponlabel2); 
     206 
     207        Slider shiptype = new Slider(550, 10); 
     208        shiptype.X = -300; 
     209        shiptype.Y = 200; 
     210        shiptype.BindTo(shipimg); 
     211        Slider shipcolour = new Slider(125, 15); 
     212        shipcolour.X = -425; 
     213        shipcolour.Y = 150; 
     214        shipcolour.BindTo(shipcolor); 
     215        Slider shipweapon = new Slider(125, 15); 
     216        shipweapon.X = -225; 
     217        shipweapon.Y = 150; 
     218        shipweapon.BindTo(shipwpn); 
     219 
     220        Slider shiptype2 = new Slider(550, 10); 
     221        shiptype2.X = 300; 
     222        shiptype2.Y = 200; 
     223        shiptype2.BindTo(shipimg2); 
     224        Slider shipcolour2 = new Slider(125, 15); 
     225        shipcolour2.X = 225; 
     226        shipcolour2.Y = 150; 
     227        shipcolour2.BindTo(shipcolor2); 
     228        Slider shipweapon2 = new Slider(125, 15); 
     229        shipweapon2.X = 425; 
     230        shipweapon2.Y = 150; 
     231        shipweapon2.BindTo(shipwpn2); 
     232 
     233        Add(shiptype); 
     234        Add(shipcolour); 
     235        Add(shipweapon); 
     236        Add(shiptype2); 
     237        Add(shipcolour2); 
     238        Add(shipweapon2); 
     239 
     240        List<Label> valikonKohdat2; 
     241        valikonKohdat2 = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 
     242        Label kohta2 = new Label("Start");  // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 
     243        kohta2.Position = new Vector(0, -100);  // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 
     244        valikonKohdat2.Add(kohta2);  // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 
     245        // Lisätään kaikki luodut kohdat peliin foreach-silmukalla 
     246        foreach (Label valikonKohta2 in valikonKohdat2) 
     247        { 
     248            Add(valikonKohta2); 
     249        } 
     250        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, coopbase, null); 
     251    } 
    138252    void choice(int choice) 
    139253    { 
     
    156270        } 
    157271    } 
     272    void choice2(int choice) 
     273    { 
     274        switch (choice) 
     275        { 
     276            case 1: 
     277                weapon2 = new AssaultRifle(0, 0); 
     278                weapon2.ProjectileCollision = weaponhit; 
     279                break; 
     280            case 2: 
     281                weapon2 = new LaserGun(0, 0); 
     282                weapon2.ProjectileCollision = weaponhit; 
     283                weapon2.Power.Value = 5000; 
     284                weapon2.FireRate = 1.0; 
     285                break; 
     286            case 3: 
     287                weapon2 = new PlasmaCannon(0, 0); 
     288                weapon2.ProjectileCollision = weaponhit; 
     289                break; 
     290        } 
     291    } 
    158292    void fire(Weapon ase) 
    159293    { 
     
    181315        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    182316 
    183         //Keyboard.Listen(Key.NumPad8, ButtonState.Down, thrust, "", 1.0, ship2); 
    184         //Keyboard.Listen(Key.NumPad5, ButtonState.Down, thrust, "", -1.0, ship2); 
    185         //Keyboard.Listen(Key.NumPad4, ButtonState.Down, tilt, "", 1.0, ship2); 
    186         //Keyboard.Listen(Key.NumPad6, ButtonState.Down, tilt, "", -1.0, ship2); 
     317        Keyboard.Listen(Key.NumPad8, ButtonState.Down, thrust, "", 1.0, ship2); 
     318        Keyboard.Listen(Key.NumPad5, ButtonState.Down, thrust, "", -1.0, ship2); 
     319        Keyboard.Listen(Key.NumPad4, ButtonState.Down, tilt, "", 1.0, ship2); 
     320        Keyboard.Listen(Key.NumPad6, ButtonState.Down, tilt, "", -1.0, ship2); 
     321        Keyboard.Listen(Key.Space, ButtonState.Down, fire, "Ammu", weapon2); 
    187322    } 
    188323    void thrust(double direction, PhysicsObject ship) 
     
    195330        ship.AngularAcceleration = 10.0*direction; 
    196331    } 
    197     void gamemode() 
     332    void singleplayerbase() 
    198333    { 
    199334        ClearAll(); 
     
    204339        AsetaOhjaimet(); 
    205340    } 
     341    void coopbase() 
     342    { 
     343        ClearAll(); 
     344        Level.BackgroundColor = Color.Black; 
     345        Level.CreateBorders(); 
     346        Camera.ZoomToLevel(); 
     347        Createship(); 
     348        Createship2(); 
     349        AsetaOhjaimet(); 
     350    } 
    206351} 
Note: See TracChangeset for help on using the changeset viewer.