Changeset 2566


Ignore:
Timestamp:
2011-08-04 15:03:53 (8 years ago)
Author:
hejusiuk
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/HenryS/TankDuel/TankDuel/TankDuel/Peli.cs

    r2521 r2566  
    66using Jypeli.Effects; 
    77using Jypeli.Widgets; 
     8class Tankki : PhysicsObject 
     9{ 
     10    public int Elamat = 3; 
     11 
     12    public Tankki(double leveys, double korkeus) 
     13        : base(leveys, korkeus) 
     14    { 
     15    } 
     16} 
    817 
    918public class Peli : PhysicsGame 
     
    1827    Vector nopeus2Oikealle = new Vector(200, 0); 
    1928    Vector nopeus2Vasemmalle = new Vector(-200, 0); 
    20     PhysicsObject pelaaja1; 
    21     PhysicsObject pelaaja2; 
     29    Tankki pelaaja1; 
     30    Tankki pelaaja2; 
    2231    Image oliomkuva = LoadImage("tank"); 
    2332    Image tankki = LoadImage("tank2"); 
    2433    PhysicsObject este; 
    25  
     34    AssaultRifle pyssy; 
     35    AssaultRifle ase; 
     36    Cannon tykki; 
     37    Cannon kanuuna; 
     38    IntMeter pisteLaskuri; 
     39    IntMeter pisteLaskuri2; 
     40    LaserGun pelaajan1Laser; 
     41    LaserGun pelaajan2laserase; 
    2642    public override void Begin() 
    27     { 
    28  
    29          
    30         LuoKenttä(); 
     43    {    
     44        //kanuuna = new Cannon(50.0, 20.0); 
     45        //tykki = new Cannon(50.0, 20.0); 
     46        //pyssy = new AssaultRifle(20, 5); 
     47        //ase = new AssaultRifle(20, 5); 
     48         
    3149        Valikko(); 
    32         pelaajat(); 
    33         AsetaOhjaimet(); 
    34     } 
    35  
    36  
    37  
    38     void pelaajat() 
    39     { 
    40  
    41         pelaaja1 = new PhysicsObject(90.0, 50.0); 
     50         
     51         
     52         
     53    } 
     54 
     55     
     56 
     57    void luopelaaja1() 
     58    { 
     59 
     60        pelaaja1 = new Tankki(90.0, 50.0); 
    4261        pelaaja1.Image = oliomkuva; 
    4362        pelaaja1.X = -400; 
     
    4564        pelaaja1.CanRotate=false; 
    4665        Add(pelaaja1); 
    47          
    48         pelaaja2 = new PhysicsObject(90.0, 50.0); 
     66        pyssy = new AssaultRifle(20, 5); 
     67        pyssy.ProjectileCollision = LuotiOsuu; 
     68        pyssy.Shoot(); 
     69        pelaaja1.Add(pyssy); 
     70        tykki = new Cannon(50, 10); 
     71        tykki.ProjectileCollision = KuulaOsuu; 
     72        tykki.Shoot(); 
     73        pelaaja1.Add(tykki); 
     74        pelaajan1Laser = new LaserGun(20, 5); 
     75        pelaajan1Laser.ProjectileCollision = LaserSadeOsuu; 
     76        pelaajan1Laser.Shoot(); 
     77        pelaajan1Laser.Ammo.Value = int.MaxValue; 
     78        pelaaja1.Add(pelaajan1Laser); 
     79    } 
     80    void luopelaaja2() 
     81    { 
     82        pelaaja2 = new Tankki(90.0, 50.0); 
    4983        pelaaja2.X = 400; 
    5084        pelaaja2.Y = -350; 
     
    5286        pelaaja2.CanRotate = false; 
    5387        Add(pelaaja2); 
    54          
    55  
     88        ase = new AssaultRifle(20, 5); 
     89        ase.ProjectileCollision = LuotiOsuu2; 
     90        ase.Shoot(); 
     91        pelaaja2.Add(ase); 
     92        kanuuna = new Cannon(50, 10); 
     93        kanuuna.ProjectileCollision = KuulaOsuu2; 
     94        kanuuna.Shoot(); 
     95        pelaaja2.Add(kanuuna); 
     96        pelaajan2laserase = new LaserGun(20, 5); 
     97        pelaajan2laserase.Ammo.Value = int.MaxValue; 
     98        pelaajan2laserase.ProjectileCollision = LaserSadeOsuu2; 
     99 
     100        pelaajan2laserase.Shoot(); 
     101        pelaaja2.Add(pelaajan2laserase); 
    56102    } 
    57103    void AsetaOhjaimet() 
     
    63109        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku alas", pelaaja1, nopeus1Alas, Angle.FromDegrees (-90)); 
    64110        Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees (-90)); 
    65          
     111        Keyboard.Listen(Key.Q, ButtonState.Down, AmmuAseella, "Ammu"); 
     112        Keyboard.Listen(Key.Tab, ButtonState.Down, AmmuTykillä, "Ammu"); 
     113        Keyboard.Listen(Key.CapsLock, ButtonState.Down, AmmuLaserPyssyllä, "Ammu"); 
     114 
    66115 
    67116        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku ylös", pelaaja2, nopeus2Ylos, Angle.FromDegrees(90)); 
     
    69118        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku alas", pelaaja2, nopeus2Alas, Angle.FromDegrees(-90)); 
    70119        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus2, null, pelaaja2, Vector.Zero, Angle.FromDegrees(-90)); 
     120        Keyboard.Listen(Key.End, ButtonState.Down, AmmuAseella2, "Ammu"); 
     121        Keyboard.Listen(Key.Insert, ButtonState.Down, AmmuKanuunalla, "Ammu"); 
     122        Keyboard.Listen(Key.Delete, ButtonState.Down, AmmuLaserAseella, "Ammu"); 
    71123 
    72124        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku oikealle", pelaaja1, nopeus1Oikealle, Angle.FromDegrees (0)); 
     
    109161        int i = 0; 
    110162 
    111         while (i < 20) 
     163        while (i < 30) 
    112164        { 
    113165            este = PhysicsObject.CreateStaticObject(60.0, 60.0); 
     
    130182    } 
    131183 
    132     void Valikko() 
     184      void Valikko() 
    133185    { 
    134186        ClearAll(); 
     
    150202        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
    151203        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     204 
    152205 
    153206        Mouse.IsCursorVisible = true; 
     
    175228 
    176229    void AloitaPeli() 
    177     { 
     230    {    
     231         
    178232        ClearAll(); 
     233        LuoLaskuri(); 
     234        LuoLaskuri2(); 
    179235        LuoKenttä(); 
    180         pelaajat(); 
     236        luopelaaja2(); 
     237        luopelaaja1(); 
    181238        AsetaOhjaimet(); 
    182239        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
    183240    } 
    184241 
     242 
     243    void AmmuAseella() 
     244    { 
     245         
     246        PhysicsObject ammus = pyssy.Shoot(); 
     247        if (ammus != null) 
     248        { 
     249            ammus.CanRotate = false; 
     250            ammus.Size *= 1; 
     251             
     252 
     253        } 
     254    } 
     255 
     256    void AmmuAseella2() 
     257    { 
     258         
     259        PhysicsObject ammus2 = ase.Shoot(); 
     260        if (ammus2 != null) 
     261        { 
     262            ammus2.CanRotate = false; 
     263            ammus2.Size *= 1; 
     264        } 
     265    } 
     266 
     267    void AmmuTykillä() 
     268    { 
     269        tykki.Power.Value = 100000; 
     270        PhysicsObject tykkiammus = tykki.Shoot(); 
     271        if (tykkiammus != null) 
     272        { 
     273            tykkiammus.CanRotate = false; 
     274           tykkiammus.Size *=2; 
     275 
     276        } 
    185277     
    186  
     278     
     279    } 
     280 
     281 
     282    void AmmuKanuunalla() 
     283    { 
     284        kanuuna.Power.Value = 100000; 
     285        PhysicsObject kanuunaammus = kanuuna.Shoot(); 
     286        if (kanuunaammus != null) 
     287        { 
     288            kanuunaammus.CanRotate = false; 
     289            kanuunaammus.Size *= 2; 
     290 
     291        } 
     292 
     293 
     294    } 
     295 
     296    void AmmuLaserAseella() 
     297    { 
     298 
     299        PhysicsObject laserammus = pelaajan2laserase.Shoot(); 
     300        if (laserammus != null) 
     301        { 
     302            laserammus.CanRotate = false; 
     303            laserammus.Size *= 30; 
     304 
     305 
     306        } 
     307    } 
     308 
     309    void AmmuLaserPyssyllä() 
     310    { 
     311 
     312        PhysicsObject laserammus2 = pelaajan1Laser.Shoot(); 
     313        if (laserammus2 != null) 
     314        { 
     315            laserammus2.CanRotate = false; 
     316            laserammus2.Size *= 30; 
     317 
     318 
     319        } 
     320    } 
     321    void LuoLaskuri() 
     322    { 
     323        pisteLaskuri = new IntMeter(100); 
     324 
     325        Label pisteNaytto = new Label(); 
     326        pisteNaytto.X = Screen.Left + 100; 
     327        pisteNaytto.Y = Screen.Top - 100; 
     328        pisteNaytto.TextColor = Color.Red; 
     329 
     330        pisteNaytto.BindTo(pisteLaskuri); 
     331        Add(pisteNaytto); 
     332        Label pisteTeksti = new Label("Health: "); 
     333        pisteTeksti.X = Screen.Left + 50; 
     334        pisteTeksti.Y = Screen.Top - 100; 
     335        pisteTeksti.TextColor = Color.Red; 
     336        Add(pisteTeksti); 
     337        pisteLaskuri.MinValue = 0; 
     338        pisteLaskuri.LowerLimit += laskuriAlarajassa; 
     339 
     340    } 
     341        void laskuriAlarajassa(int arvo) 
     342{ 
     343        pelaaja1.Elamat--; 
     344        pelaaja1.Destroy(); 
     345        pisteLaskuri.Value = 100; 
     346 
     347            if (pelaaja1.Elamat == 0) 
     348        { 
     349 
     350        } 
     351 
     352        else 
     353        { 
     354            Timer.SingleShot(2.0, ajastinLaukesi); 
     355 
     356         
     357        } 
     358 
     359        } 
     360 
     361        void LuoLaskuri2() 
     362        { 
     363            pisteLaskuri2 = new IntMeter(100); 
     364 
     365            Label pisteNaytto = new Label(); 
     366            pisteNaytto.X = Screen.Right - 100; 
     367            pisteNaytto.Y = Screen.Top - 100; 
     368            pisteNaytto.TextColor = Color.Red; 
     369 
     370            pisteNaytto.BindTo(pisteLaskuri2); 
     371            Add(pisteNaytto); 
     372            Label pisteTeksti = new Label("Health: "); 
     373            pisteTeksti.X = Screen.Right - 150; 
     374            pisteTeksti.Y = Screen.Top - 100; 
     375            pisteTeksti.TextColor = Color.Red; 
     376            Add(pisteTeksti); 
     377            pisteLaskuri2.MinValue = 0; 
     378            pisteLaskuri2.LowerLimit += laskuriAlarajassa2; 
     379 
     380             
     381        } 
     382 
     383        void laskuriAlarajassa2(int arvo) 
     384        { 
     385            pelaaja2.Elamat--; 
     386                    pelaaja1.Destroy(); 
     387        pisteLaskuri2.Value = 100; 
     388 
     389            if (pelaaja2.Elamat == 0) 
     390        { 
     391 
     392        } 
     393 
     394        else 
     395        { 
     396            Timer.SingleShot(2.0, ajastinLaukesi2); 
     397 
     398         
     399        } 
     400 
     401        } 
     402         
     403        void LuotiOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     404        { 
     405            ammus.Destroy(); 
     406            if (kohde == pelaaja2) 
     407 
     408            { 
     409                pisteLaskuri2.Value--; 
     410            } 
     411        } 
     412 
     413        void LuotiOsuu2(PhysicsObject ammus2, PhysicsObject kohde2) 
     414        { 
     415            ammus2.Destroy(); 
     416            if (kohde2 == pelaaja1) 
     417            { 
     418                pisteLaskuri.Value--; 
     419            } 
     420        } 
     421 
     422 
     423 
     424        void KuulaOsuu(PhysicsObject tykkiammus, PhysicsObject kohde) 
     425        { 
     426            tykkiammus.Destroy(); 
     427            if (kohde == pelaaja2) 
     428            {  
     429              pisteLaskuri2.Value = pisteLaskuri2.Value - 10; 
     430 
     431             
     432            } 
     433         
     434        } 
     435     void KuulaOsuu2(PhysicsObject kanuunaammus, PhysicsObject kohde2) 
     436        { 
     437            kanuunaammus.Destroy(); 
     438            if (kohde2 == pelaaja1) 
     439            {  
     440              pisteLaskuri.Value = pisteLaskuri.Value - 10; 
     441 
     442             
     443            } 
     444         
     445        } 
     446 
     447 
     448     void LaserSadeOsuu(PhysicsObject laserammus2, PhysicsObject kohde2) 
     449     { 
     450 
     451         laserammus2.Destroy(); 
     452          
     453         if (kohde2 == pelaaja2) 
     454         { 
     455             pisteLaskuri2.Value = pisteLaskuri2.Value - 1; 
     456 
     457 
     458         } 
     459 
     460     } 
     461 
     462     void LaserSadeOsuu2(PhysicsObject laserammus, PhysicsObject kohde) 
     463     { 
     464 
     465         laserammus.Destroy(); 
     466 
     467         if (kohde == pelaaja1) 
     468         { 
     469             pisteLaskuri.Value = pisteLaskuri.Value - 1; 
     470 
     471 
     472         } 
     473 
     474     } 
     475 
     476 
     477 
     478    void ajastinLaukesi() 
     479 
     480        { 
     481 
     482            luopelaaja1(); 
    187483} 
     484 
     485    void ajastinLaukesi2() 
     486    { 
     487 
     488        luopelaaja2(); 
     489        ClearControls(); 
     490        AsetaOhjaimet(); 
     491    } 
     492 
     493 
     494} 
     495 
     496 
     497 
     498 
     499 
     500 
     501 
     502 
     503 
     504 
     505 
     506 
     507 
     508 
     509 
     510 
     511 
Note: See TracChangeset for help on using the changeset viewer.