Ignore:
Timestamp:
2017-07-06 15:02:43 (2 years ago)
Author:
npo17_39
Message:

koodia ja grafiikkaa

File:
1 edited

Legend:

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

    r8939 r8980  
    99public class FireFight_Demo : PhysicsGame 
    1010{ 
     11 
     12    Animation suuliekkixd; 
    1113    PhysicsObject taso; 
    1214    PlatformCharacter pelaaja1; 
    1315    PlatformCharacter pelaaja2; 
     16    PhysicsObject suuliekki2; 
     17    PhysicsObject suuliekki; 
     18    PhysicsObject ammus2; 
     19    PhysicsObject hylsy2; 
     20    PhysicsObject hylsy; 
     21    PhysicsObject ammus; 
    1422    PhysicsObject taustaammus; 
    1523    PhysicsObject powerup; 
     
    2230    Image pelaaja2kuva = LoadImage("IdleRO1"); 
    2331    Image titlelogo = LoadImage("FireFightLogo"); 
     32    Image ammusKuva = LoadImage("Luoti1"); 
     33    Image ammusKuva2 = LoadImage("Luoti2"); 
     34    Image hylsyKuva = LoadImage("Hylsy"); 
     35    Image hylsyKuva2 = LoadImage("Hylsy2"); 
     36    Timer suuliekkitimer; 
     37 
     38 
    2439    int kenttanro = 1; 
     40    Vector ejectO = new Vector(-50, 500); 
     41    Vector ejectV = new Vector(50, 500); 
     42    Vector spawn1 = new Vector(200, 300); 
     43    Vector spawn2 = new Vector(-100, 300); 
    2544    int pelaaja1hypyt = 1; 
    2645    int pelaaja2hypyt = 1; 
     
    2948    const int RUUDUN_KOKO = 80; 
    3049    const double nopeus = 400; 
     50    Vector lähtönopeusO = new Vector(600,0); 
     51    Vector lähtönopeusV = new Vector(-600, 0); 
    3152    bool alkuvalikkoKayty = false; 
     53    int pelaaja1suunta = 2; 
     54    int pelaaja2suunta = 2; 
    3255 
    3356    public override void Begin() 
     
    86109        Kamera(); 
    87110        LuoPistelaskurit(); 
     111        Poistasuuliekkiajastin(); 
    88112    } 
    89113    void LuoPistelaskurit() 
     
    113137    void Kamera() 
    114138    { 
    115         Camera.ZoomFactor = 1; 
    116         Camera.Follow(pelaaja1, pelaaja2); 
    117         Camera.StayInLevel = true; 
     139        //Camera.ZoomFactor = 1; 
     140        //Camera.Follow(pelaaja1, pelaaja2); 
     141        //Camera.StayInLevel = true; 
     142        Camera.ZoomTo(-1500, -1500, 1500, 500); 
    118143    } 
    119144    void Luokentta(int kenttanro) 
     
    143168        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    144169        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 
    145         Keyboard.Listen(Key.RightShift, ButtonState.Down, Pelaaja1Ammu, "Ampuu aseella", pelaajan1Ase); 
     170        Keyboard.Listen(Key.RightShift, ButtonState.Pressed, Pelaaja1Ammu, "Ampuu aseella"); 
    146171        Keyboard.Listen(Key.W, ButtonState.Pressed, Pelaaja2Hyppaa, "Pelaaja hyppää", pelaaja2, nopeus); 
    147172        Keyboard.Listen(Key.S, ButtonState.Pressed, Pelaaja2Hyppaa, "Pelaaja laskeutuu", pelaaja2, -nopeus); 
    148173        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
    149174        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja2, nopeus); 
    150         Keyboard.Listen(Key.LeftShift, ButtonState.Down, Pelaaja2Ammu, "Ampuu aseella", pelaajan2Ase); 
     175        Keyboard.Listen(Key.LeftShift, ButtonState.Pressed, Pelaaja2Ammu, "Ampuu aseella"); 
    151176        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    152     } 
     177        Keyboard.Listen(Key.Right, ButtonState.Down, SuunnanVaihdosBO, "null"); 
     178        Keyboard.Listen(Key.Left, ButtonState.Down, SuunnanVaihdosBV, "null"); 
     179        Keyboard.Listen(Key.D, ButtonState.Down, SuunnanVaihdosRO, "null"); 
     180        Keyboard.Listen(Key.A, ButtonState.Down, SuunnanVaihdosRV, "null"); 
     181 
     182    } 
     183 
    153184    void Pelaaja1Hyppaa(PlatformCharacter hahmo, double nopeus) 
    154185    { 
     
    168199 
    169200    } 
    170     void Pelaaja1Ammu(AssaultRifle ase) 
    171     { 
    172         Vector suunta = (pelaaja2.Position - pelaaja1.Position).Normalize(); 
     201 
     202    void SuunnanVaihdosBO() 
     203    { 
     204        pelaaja1suunta = 2; 
     205    } 
     206    void SuunnanVaihdosBV() 
     207    { 
     208        pelaaja1suunta = 1; 
     209    } 
     210    void SuunnanVaihdosRO() 
     211    { 
     212        pelaaja2suunta = 2; 
     213    } 
     214    void SuunnanVaihdosRV() 
     215    { 
     216        pelaaja2suunta = 1; 
     217    } 
     218 
     219    void Poistasuuliekkiajastin() 
     220 
     221    { 
     222        suuliekkitimer = new Timer(); 
     223        suuliekkitimer.Interval = 0.1; 
     224        suuliekkitimer.Timeout += Poistasuuliekki; 
     225        
     226    } 
     227 
     228     
     229 
     230    void Pelaaja1Ammu() 
     231    { 
     232 
     233        hylsy = new PhysicsObject(35, 22); 
     234        ammus = new PhysicsObject(77, 20); 
     235        suuliekki = new PhysicsObject(180, 80); 
     236 
     237 
     238        suuliekki.IgnoresExplosions = true; 
     239        suuliekki.IgnoresCollisionResponse = true; 
     240        suuliekki.IgnoresGravity = true; 
     241        suuliekki.CanRotate = false; 
     242        suuliekkixd = LoadAnimation("suuliekkix"); 
     243 
     244        hylsy.RotateImage = true; 
     245        hylsy.CanRotate = true; 
     246        hylsy.AngularVelocity = 10; 
     247        hylsy.IgnoresCollisionResponse = true; 
     248        
     249        if (pelaaja1suunta == 2) 
     250         { 
     251 
     252            ammus.Shape = Shape.Circle; 
     253            ammus.IgnoresExplosions = true; 
     254            ammus.IgnoresCollisionResponse = true; 
     255            ammus.IgnoresGravity = true; 
     256            ammus.StopVertical(); 
     257            ammus.Image = ammusKuva; 
     258            ammus.X = pelaaja1.X + 110; 
     259            ammus.Tag = "9mmB"; 
     260            ammus.Y = pelaaja1.Y + 74; 
     261            ammus.Hit(lähtönopeusO); 
     262 
     263            hylsy.X = pelaaja1.X + 62; 
     264            hylsy.Y = pelaaja1.Y + 74; 
     265            hylsy.Hit(ejectO); 
     266            hylsy.Image = hylsyKuva; 
     267 
     268            suuliekki.X = pelaaja1.X + 200; 
     269            suuliekki.Y = pelaaja1.Y + 74; 
     270            suuliekki.Animation = new Animation(suuliekkixd); 
     271            suuliekki.Animation.Start(1); 
     272 
     273 
     274            Add(suuliekki); 
     275 
     276            Add(hylsy); 
     277 
     278            Add(ammus); 
     279 
     280            suuliekkitimer.Start(1); 
     281        } 
     282        if (pelaaja1suunta == 1) 
     283        { 
     284 
     285            ammus.Shape = Shape.Circle; 
     286            ammus.IgnoresExplosions = true; 
     287            ammus.IgnoresCollisionResponse = true; 
     288            ammus.IgnoresGravity = true; 
     289            ammus.StopVertical(); 
     290            ammus.Image = ammusKuva2; 
     291            ammus.X = pelaaja1.X + -110; 
     292            ammus.Y = pelaaja1.Y + 74; 
     293            ammus.Tag = "9mmB"; 
     294            ammus.Hit(lähtönopeusV); 
     295 
     296            hylsy.X = pelaaja1.X + -62; 
     297            hylsy.Y = pelaaja1.Y + 74; 
     298            hylsy.Hit(ejectV); 
     299            hylsy.Image = hylsyKuva2; 
     300 
     301             
     302 
     303            Add(hylsy); 
     304 
     305            Add(ammus); 
     306        } 
     307 
     308 
     309        /*/Vector suunta = (pelaaja2.Position - pelaaja1.Position).Normalize(); 
    173310        ase.Angle = suunta.Angle; 
    174         PhysicsObject ammus = ase.Shoot(); 
    175     } 
    176     void Pelaaja2Ammu(AssaultRifle ase) 
    177     { 
    178         Vector suunta = (pelaaja1.Position - pelaaja2.Position).Normalize(); 
     311        PhysicsObject ammus = ase.Shoot();/*/ 
     312 
     313    } 
     314    void Pelaaja2Ammu() 
     315    { 
     316 
     317 
     318        hylsy2 = new PhysicsObject(35, 22); 
     319 
     320        hylsy2.RotateImage = true; 
     321        hylsy2.CanRotate = true; 
     322        hylsy2.AngularVelocity = 10; 
     323        hylsy2.IgnoresCollisionResponse = true; 
     324 
     325        if (pelaaja2suunta == 2) 
     326 
     327        
     328 
     329        { 
     330            ammus2 = new PhysicsObject(77, 20); 
     331 
     332            
     333 
     334            ammus2.Shape = Shape.Circle; 
     335            ammus2.IgnoresCollisionResponse = true; 
     336            ammus2.IgnoresExplosions = true; 
     337            ammus2.IgnoresGravity = true; 
     338            ammus2.Image = ammusKuva; 
     339            ammus2.Tag = "9mmR"; 
     340            ammus2.StopVertical(); 
     341            ammus2.X = pelaaja2.X + 110; 
     342            ammus2.Y = pelaaja2.Y + 74; 
     343            ammus2.Hit(lähtönopeusO); 
     344 
     345            hylsy2 = new PhysicsObject(35, 22); 
     346 
     347            hylsy2.RotateImage = true; 
     348            hylsy2.CanRotate = true; 
     349            hylsy2.AngularVelocity = 10; 
     350            hylsy2.IgnoresCollisionResponse = true; 
     351            hylsy2.X = pelaaja2.X + 62; 
     352            hylsy2.Y = pelaaja2.Y + 74; 
     353            hylsy2.Hit(ejectO); 
     354            hylsy2.Image = hylsyKuva; 
     355 
     356            Add(hylsy2); 
     357 
     358            Add(ammus2); 
     359 
     360 
     361        } 
     362        if (pelaaja2suunta == 1) 
     363        { 
     364 
     365            ammus2 = new PhysicsObject(77, 20); 
     366 
     367            ammus2.Shape = Shape.Circle; 
     368            ammus2.IgnoresCollisionResponse = true; 
     369            ammus2.IgnoresExplosions = true; 
     370            ammus2.Image = ammusKuva2; 
     371            ammus2.IgnoresGravity = true; 
     372            ammus2.Tag = "9mmR"; 
     373            ammus2.StopVertical(); 
     374            ammus2.X = pelaaja2.X + -110; 
     375            ammus2.Y = pelaaja2.Y + 74; 
     376            ammus2.Hit(lähtönopeusV); 
     377 
     378            hylsy2 = new PhysicsObject(35, 22); 
     379 
     380            hylsy2.RotateImage = true; 
     381            hylsy2.CanRotate = true; 
     382            hylsy2.AngularVelocity = 10; 
     383            hylsy2.IgnoresCollisionResponse = true; 
     384            hylsy2.X = pelaaja2.X + -62; 
     385            hylsy2.Y = pelaaja2.Y + 74; 
     386            hylsy2.Hit(ejectV); 
     387            hylsy2.Image = hylsyKuva2; 
     388 
     389            Add(hylsy2); 
     390 
     391            Add(ammus2); 
     392 
     393        } 
     394 
     395 
     396 
     397        /*/ Vector suunta = (pelaaja1.Position - pelaaja2.Position).Normalize(); 
    179398        ase.Angle = suunta.Angle; 
    180         PhysicsObject ammus = ase.Shoot(); 
    181     } 
     399        PhysicsObject ammus = ase.Shoot();/*/ 
     400    } 
     401    void Poistasuuliekki() 
     402    { 
     403 
     404        suuliekki.Destroy(); 
     405    } 
     406 
     407 
     408 
    182409    void AmmusTuhoutuu(PhysicsObject ammus, PhysicsObject kohde) 
    183410    { 
     
    285512    void Pelaaja1Kuolee(PhysicsObject pelaaja, PhysicsObject pohja) 
    286513    { 
    287         pelaaja1.Destroy(); 
     514         
    288515        pelaaja2pisteet.Value += 1; 
    289         Timer.SingleShot(0.8, delegate 
    290         { 
    291             ClearGameObjects(); 
    292             Luokentta(kenttanro); 
     516        Timer.SingleShot(3.0, delegate 
     517        { 
     518 
     519            pelaaja1.AbsolutePosition = spawn1; 
     520 
    293521        }); 
    294522    } 
    295523    void Pelaaja2Kuolee(PhysicsObject pelaaja, PhysicsObject pohja) 
    296524    { 
    297         pelaaja2.Destroy(); 
     525         
    298526        pelaaja1pisteet.Value += 1; 
    299         Timer.SingleShot(0.8, delegate  
    300         { 
    301             ClearGameObjects(); 
    302             Luokentta(kenttanro); 
     527        Timer.SingleShot(3.0, delegate  
     528        { 
     529 
     530            pelaaja2.AbsolutePosition = spawn2; 
     531             
    303532        }); 
    304533    } 
Note: See TracChangeset for help on using the changeset viewer.