Changeset 2814 for 2012/23


Ignore:
Timestamp:
2012-06-06 15:39:01 (7 years ago)
Author:
jijoback
Message:

Pelin voi jopa voittaa!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/23/JimB/NameInPending/NameinPending/NameinPending/NameinPending/NameinPending.cs

    r2813 r2814  
    2929    double ampumisnopeus = 450; 
    3030    ExplosionSystem NaattiPoks; 
    31     PhysicsObject naatti; 
     31    IntMeter Pelaajat = new IntMeter (4); 
     32    //PhysicsObject naatti; 
    3233 
    3334 
    3435    public override void Begin() 
    3536    { 
    36         NaattiPoks = new ExplosionSystem(LoadImage("naattishard"), 375); 
     37        NaattiPoks = new ExplosionSystem(LoadImage("naattishard"), 1500); 
    3738        Add(NaattiPoks); 
    3839        // TODO: Kirjoita ohjelmakoodisi tähän 
    3940        LuoKentta(); 
    4041 
     42        MessageDisplay.Add("F1 - Näytä Ohjaimet"); 
     43        Keyboard.Listen(Key.F1, ButtonState.Pressed, Ohjeet, "Näytä ohjaimet"); 
     44 
    4145        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    4246    } 
    43  
     47    void Ohjeet() 
     48    { 
     49        MessageDisplay.Add("Pelaaja 1 - WASD - Q ampuminen - E Kranaatti"); 
     50        MessageDisplay.Add("Pelaaja 2 - Nuolet - Numpad0 ampuminen - CTRL Kranaatti"); 
     51        MessageDisplay.Add("Pelaaja 3 - TFGH - R ampuminen - Y Kranaatti"); 
     52        MessageDisplay.Add("Pelaaja 4 - IJKL - U ampuminen - O Kranaatti"); 
     53    } 
    4454    void LuoKentta() 
    4555    { 
     
    5767        Camera.ZoomToLevel(); 
    5868    } 
    59  
    6069    void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
    6170    { 
     
    96105        Keyboard.Listen(Key.Up, ButtonState.Released, Liike, null, pelaaja2, new Vector(0, 0)); 
    97106        Keyboard.Listen(Key.NumPad0, ButtonState.Down, Ammu, null, pelaaja2); 
     107        Keyboard.Listen(Key.RightControl, ButtonState.Down, Heita, null, pelaaja2); 
    98108    } 
    99109    void LuoPelaaja3(Vector paikka, double leveys, double korkeus) 
     
    115125        Keyboard.Listen(Key.T, ButtonState.Released, Liike, null, pelaaja3, new Vector(0, 0)); 
    116126        Keyboard.Listen(Key.R, ButtonState.Down, Ammu, null, pelaaja3); 
     127        Keyboard.Listen(Key.Y, ButtonState.Down, Heita, null, pelaaja3); 
    117128    } 
    118129    void LuoPelaaja4(Vector paikka, double leveys, double korkeus) 
     
    136147        Keyboard.Listen(Key.I, ButtonState.Released, Liike, null, pelaaja4, new Vector(0, 0)); 
    137148        Keyboard.Listen(Key.U, ButtonState.Down, Ammu, null, pelaaja4); 
    138     } 
    139  
     149        Keyboard.Listen(Key.O, ButtonState.Down, Heita, null, pelaaja4); 
     150    } 
    140151    PeliUkko LuoPelaaja(Vector paikka) 
    141152    { 
     
    151162 
    152163    } 
    153  
     164    void KukaKuoli(PeliUkko ukko) 
     165    { 
     166        int PelaajanNumero = 0; 
     167        Pelaajat.Value -= 1; 
     168        if (ukko == pelaaja1) 
     169        { 
     170            MessageDisplay.Add("Pelaaja 1 kuoli!"); 
     171        } 
     172        else if (ukko == pelaaja2) 
     173        { 
     174            MessageDisplay.Add("Pelaaja 2 kuoli!"); 
     175        } 
     176        else if (ukko == pelaaja3) 
     177        { 
     178            MessageDisplay.Add("Pelaaja 3 kuoli!"); 
     179        } 
     180        else if (ukko == pelaaja4) 
     181        { 
     182            MessageDisplay.Add("Pelaaja 4 kuoli!"); 
     183        } 
     184        else MessageDisplay.Add("WTF?"); 
     185 
     186        if (Pelaajat.Value <= 1) 
     187         
     188        { 
     189            if (!pelaaja1.IsDestroyed) PelaajanNumero = 1; 
     190            else if (!pelaaja2.IsDestroyed) PelaajanNumero = 2; 
     191            else if (!pelaaja3.IsDestroyed) PelaajanNumero = 3; 
     192            else if (!pelaaja4.IsDestroyed) PelaajanNumero = 4; 
     193            Label Voitto = new Label("Pelaaja" + PelaajanNumero + "Voittaa"); 
     194            Add(Voitto); 
     195 
     196        } 
     197     } 
    154198    void LuoHPNaytto(double x, double y, IntMeter sidottavaMittari, Color taustavari) 
    155199    { 
     
    160204        Add(hp); 
    161205    } 
    162  
    163206    void Osuma(PeliUkko tormaaja, PhysicsObject ammus) 
    164207    { 
     
    167210        { 
    168211            tormaaja.Destroy(); 
     212            KukaKuoli(tormaaja); 
    169213        } 
    170214        ammus.Destroy(); 
    171215    } 
    172      
    173216    void Ammu(PeliUkko pelaaja) 
    174217    { 
     
    194237        if (pelaaja.naattiValmiina) 
    195238        { 
    196             naatti = new PhysicsObject(LoadImage("naatti")); 
     239            PhysicsObject naatti = new PhysicsObject(LoadImage("naatti")); 
    197240            Add(naatti); 
    198241            naatti.Tag = "naatti"; 
     
    221264        e.ShockwaveReachesObject += delegate(IPhysicsObject kohde, Vector suunta) { ShockHit(kohde, suunta, e); }; 
    222265    } 
    223  
    224266    void ShockHit(IPhysicsObject kohde, Vector suunta, Explosion rajahdys) 
    225267    { 
     
    229271 
    230272        double etaisyys = Vector.Distance(ukko.Position, rajahdys.Position); 
    231         ukko.Elamat.Value -= (int) Math.Floor( 1500/etaisyys); 
     273        ukko.Elamat.Value -= (int)Math.Floor(1500 / etaisyys); 
     274        if (ukko.Elamat.Value <= 0) 
     275        { 
     276            ukko.Destroy(); 
     277            KukaKuoli(ukko); 
     278        } 
    232279        ukko.ViimeisinRajahdys = rajahdys; 
    233280    } 
    234  
    235281    void Liike(PeliUkko pelaaja, Vector nopeus) 
    236282    { 
Note: See TracChangeset for help on using the changeset viewer.