Changeset 8923


Ignore:
Timestamp:
2017-07-05 14:10:47 (2 years ago)
Author:
npo17_41
Message:

lisätty paskat aseet

Location:
2017/27/EinoS/FireFight_Demo/FireFight_Demo/FireFight_Demo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2017/27/EinoS/FireFight_Demo/FireFight_Demo/FireFight_Demo/FireFight_Demo.cs

    r8910 r8923  
    1717    PhysicsObject alareuna; 
    1818    PhysicsObject ylareuna; 
    19     PhysicsObject ammus; 
     19    AssaultRifle pelaajan1Ase; 
     20    AssaultRifle pelaajan2Ase; 
    2021    Image pelaaja1kuva = LoadImage("IdleBO1"); 
    2122    Image pelaaja2kuva = LoadImage("IdleRO1"); 
     23    int pelaaja1suunta = 180; 
     24    int pelaaja2suunta = 0; 
    2225    int kenttanro = 1; 
    2326    int pelaaja1hypyt = 1; 
     
    116119        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    117120        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 
    118         Keyboard.Listen(Key.RightShift, ButtonState.Pressed, Pelaaja1Ammu, "Ampuu aseella", pelaaja1); 
     121        Keyboard.Listen(Key.RightShift, ButtonState.Down, Pelaaja1Ammu, "Ampuu aseella", pelaajan1Ase); 
    119122        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, nopeus); 
    120123        Keyboard.Listen(Key.S, ButtonState.Pressed, Hyppaa, "Pelaaja laskeutuu", pelaaja2, -nopeus); 
    121124        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
    122125        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja2, nopeus); 
    123         Keyboard.Listen(Key.LeftShift, ButtonState.Pressed, Pelaaja2Ammu, "Ampuu aseella", pelaaja2); 
     126        Keyboard.Listen(Key.LeftShift, ButtonState.Down, Pelaaja2Ammu, "Ampuu aseella", pelaajan2Ase); 
    124127        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    125128    } 
    126129    void Hyppaa(PlatformCharacter hahmo, double nopeus) 
    127130    { 
    128         /*  if(pelaaja1hypyt >= 0) 
     131          if(pelaaja1hypyt >= 0) 
    129132          { 
    130133              pelaaja1hypyt--; 
    131  
     134              hahmo.ForceJump(nopeus * 2); 
    132135          } 
    133           */ 
    134         hahmo.ForceJump(nopeus * 2); 
    135  
    136     } 
    137  
    138     void Pelaaja1Ammu(PlatformCharacter pelaaja) 
    139     { 
    140         ammus = new PhysicsObject(8, 8, Shape.Circle); 
    141         ammus.X = pelaaja1.X - 80; 
    142         ammus.Y = pelaaja1.Y + 73; 
    143         ammus.Color = Color.Black; 
    144         ammus.IgnoresGravity = true; 
    145         ammus.IgnoresCollisionWith(ammus); 
    146         ammus.IgnoresCollisionResponse = true; 
    147         ammus.Tag = "9mm"; 
    148         ammus.Mass = 0.1; 
    149         //AddCollisionHandler(ammus, AmmusTuhoutuu); 
    150         Add(ammus); 
    151  
    152         Vector vauhti = new Vector(-70, 0); 
    153         ammus.Hit(vauhti); 
    154     } 
    155     void Pelaaja2Ammu(PlatformCharacter pelaaja) 
    156     { 
    157         ammus = new PhysicsObject(8, 8, Shape.Circle); 
    158         ammus.X = pelaaja2.X + 80; 
    159         ammus.Y = pelaaja2.Y + 73; 
    160         ammus.Color = Color.Black; 
    161         ammus.IgnoresGravity = true; 
    162         ammus.IgnoresCollisionWith(ammus); 
    163         ammus.IgnoresCollisionResponse = true; 
    164         ammus.Tag = "9mm"; 
    165         ammus.Mass = 0.1; 
    166         //AddCollisionHandler(ammus, AmmusTuhoutuu); 
    167         Add(ammus); 
    168  
    169         Vector vauhti = new Vector(70, 0); 
    170         ammus.Hit(vauhti); 
    171  
     136    } 
     137    void Pelaaja1Ammu(AssaultRifle ase) 
     138    { 
     139        Vector suunta = (pelaaja2.Position - pelaaja1.Position).Normalize(); 
     140        ase.Angle = suunta.Angle; 
     141        PhysicsObject ammus = ase.Shoot(); 
     142    } 
     143    void Pelaaja2Ammu(AssaultRifle ase) 
     144    { 
     145        Vector suunta = (pelaaja1.Position - pelaaja2.Position).Normalize(); 
     146        ase.Angle = suunta.Angle; 
     147        PhysicsObject ammus = ase.Shoot(); 
    172148    } 
    173149    void AmmusTuhoutuu(PhysicsObject ammus, PhysicsObject kohde) 
    174150    { 
    175         Explosion ammusrajahdys = new Explosion(25); 
     151        Explosion ammusrajahdys = new Explosion(45); 
     152        ammusrajahdys.IsVisible = false; 
     153        ammusrajahdys.Force = 1000; 
     154        ammusrajahdys.Speed = 200; 
    176155        ammusrajahdys.Position = ammus.Position; 
    177156        Add(ammusrajahdys); 
     
    208187 
    209188    } 
    210  
    211189    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    212190    { 
     
    220198        pelaaja1.Image = pelaaja1kuva; 
    221199        Add(pelaaja1); 
    222          
    223  
     200 
     201        pelaajan1Ase = new AssaultRifle(120, 40); 
     202        pelaajan1Ase.FireRate = 16; 
     203        pelaajan1Ase.ProjectileCollision = AmmusTuhoutuu; 
     204        pelaajan1Ase.AmmoIgnoresExplosions = true; 
     205        pelaajan1Ase.Image = null; 
     206        pelaajan1Ase.Color = new Color(0, 0, 0, 0); 
     207        pelaaja1.Add(pelaajan1Ase); 
    224208    } 
    225209    void LisaaToinenPelaaja(Vector paikka, double leveys, double korkeus) 
     
    235219        Add(pelaaja2); 
    236220 
     221        pelaajan2Ase = new AssaultRifle(60, 20); 
     222        pelaajan2Ase.FireRate = 16; 
     223        pelaajan2Ase.ProjectileCollision = AmmusTuhoutuu; 
     224        pelaajan2Ase.AmmoIgnoresExplosions = true; 
     225        pelaajan2Ase.Image = null; 
     226        pelaajan2Ase.Color = new Color(0, 0, 0, 0); 
     227        pelaaja2.Add(pelaajan2Ase); 
    237228    } 
    238229    void LisaaAse(Vector paikka, double leveys, double korkeus) 
     
    245236        Add(ase); 
    246237    } 
    247     void TuplaHyppy(PhysicsObject taso, PhysicsObject pelaaja) 
    248     { 
    249         if(pelaaja1hypyt == 0) 
    250         { 
    251             pelaaja1hypyt ++; 
     238    void TuplaHyppy(PhysicsObject pelaaja, PhysicsObject taso) 
     239    { 
     240        if(taso.Tag.ToString() == "taso") 
     241        { 
     242            pelaaja1hypyt = 1; 
    252243 
    253244        } 
     
    258249        pelaaja.Destroy(); 
    259250        Pelaaja2Voittaa(); 
    260         Timer.SingleShot(2, StopAll); 
     251        StopAll(); 
    261252    } 
    262253    void Pelaaja2Kuolee(PhysicsObject pelaaja, PhysicsObject pohja) 
     
    264255        pelaaja.Destroy(); 
    265256        Pelaaja1Voittaa(); 
    266         Timer.SingleShot(2, StopAll); 
     257        StopAll(); 
    267258    } 
    268259    void Pelaaja1Voittaa() 
    269260    { 
    270         MultiSelectWindow voittoikkuna = new MultiSelectWindow("Sininen voittaa", "Uudestaan", "Poistu"); 
     261        MultiSelectWindow voittoikkuna = new MultiSelectWindow("Sininen voittaa", "Uudestaan", "Alkuvalikkoon", "Poistu"); 
    271262        voittoikkuna.AddItemHandler(0, delegate 
    272263        { 
     
    278269            Begin(); 
    279270        }); 
     271        voittoikkuna.AddItemHandler(2, Exit); 
    280272        voittoikkuna.Color = Color.BloodRed; 
    281273        voittoikkuna.Shape = Shape.Octagon; 
     
    284276    void Pelaaja2Voittaa() 
    285277    { 
    286          
     278        MultiSelectWindow voittoikkuna = new MultiSelectWindow("Punainen voittaa", "Uudestaan", "Alkuvalikkoon", "Poistu"); 
     279        voittoikkuna.AddItemHandler(0, delegate 
     280        { 
     281            AloitaPeli(kenttanro); 
     282        }); 
     283        voittoikkuna.AddItemHandler(1, delegate 
     284        { 
     285            alkuvalikkoKayty = false; 
     286            Begin(); 
     287        }); 
     288        voittoikkuna.AddItemHandler(2, Exit); 
     289        voittoikkuna.Color = Color.BloodRed; 
     290        voittoikkuna.Shape = Shape.Octagon; 
     291        Add(voittoikkuna); 
     292 
    287293    } 
    288294} 
Note: See TracChangeset for help on using the changeset viewer.