Changeset 8927 for 2017/27


Ignore:
Timestamp:
2017-07-05 14:32:47 (6 years ago)
Author:
npo17_33
Message:

yhdellä on ase ja sairaan suuri räjähdys

Location:
2017/27/MikaelL/Avaruuspeli/Avaruuspeli/Avaruuspeli
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2017/27/MikaelL/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.cs

    r8922 r8927  
    1414    PhysicsObject pelaaja1; 
    1515    PhysicsObject pelaaja2; 
     16    PlasmaCannon plasmaTykki; 
    1617 
    1718    public override void Begin() 
     
    2425        Level.Background.FitToLevel(); 
    2526        Level.CreateBorders(); 
     27 
    2628        pelaaja1 = LuoAvaruusalus(100, 100); 
    2729        pelaaja2 = LuoAvaruusalus(10, 10); 
     30 
     31 
     32        plasmaTykki = new PlasmaCannon(20, 5); 
     33        plasmaTykki.ProjectileCollision = AmmusOsui; 
     34        plasmaTykki.FireRate = 5.0; 
     35 
     36        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
     37 
     38 
     39 
     40 
     41 
     42        pelaaja1.Add(plasmaTykki); 
    2843 
    2944        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    3045        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    3146 
    32         Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(-1000, 0)); 
    33         Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null,pelaaja1, new Vector(1000, 0)); 
    34         Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(0, 1000)); 
    35         Keyboard.Listen(Key.Down, ButtonState.Down,LiikutaPelaajaa, null,pelaaja1, new Vector(0, -1000)); 
     47        Keyboard.Listen(Key.Left, ButtonState.Down, KaannaKulmaa, null, pelaaja1, 5.0); 
     48        Keyboard.Listen(Key.Right, ButtonState.Down, KaannaKulmaa, null,pelaaja1, -5.0); 
     49        Keyboard.Listen(Key.Up, ButtonState.Down,Kaasuta , null, pelaaja1, 1000.0); 
     50        //Keyboard.Listen(Key.Down, ButtonState.Down,LiikutaPelaajaa, null,pelaaja1, new Vector(0, -1000)); 
    3651 
    37         Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null,pelaaja2, new Vector(-1000, 0)); 
    38         Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null,pelaaja2, new Vector(1000, 0)); 
    39         Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null,pelaaja2, new Vector(0, 1000)); 
    40         Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null,pelaaja2, new Vector(0, -1000)); 
     52        Keyboard.Listen(Key.A, ButtonState.Down, KaannaKulmaa, null, pelaaja2, 5.0); 
     53        Keyboard.Listen(Key.D, ButtonState.Down, KaannaKulmaa, null, pelaaja2, -5.0); 
     54        Keyboard.Listen(Key.W, ButtonState.Down, Kaasuta, null, pelaaja2, 1000.0); 
    4155 
    4256 
     
    6478    } 
    6579 
     80    void AmmuAseella(PhysicsObject pelaaja) 
     81    { 
     82        PhysicsObject ammus = plasmaTykki.Shoot(); 
     83 
     84        if (ammus != null) 
     85        { 
     86            //ammus.Size *= 3; 
     87            //ammus.Image = ... 
     88            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     89        } 
     90    } 
     91 
     92    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     93    { 
     94        if (kohde.Tag.Equals("alus")) 
     95        { 
     96            Explosion rajahdys = new Explosion(10000000000000000000); 
     97            rajahdys.Position = kohde.Position; 
     98            Add(rajahdys); 
     99 
     100            kohde.Destroy(); 
     101 
     102        } 
     103         
     104 
     105    } 
     106 
     107 
     108 
     109 
    66110    void LiikutaPelaajaa(PhysicsObject pelaaja, Vector vektori) 
    67111    { 
     
    69113    } 
    70114 
     115    void KaannaKulmaa(PhysicsObject pelaaja, double aste) 
     116    { 
     117        pelaaja.Angle += Angle.FromDegrees(aste); 
     118    } 
    71119 
    72  
     120    void Kaasuta(PhysicsObject pelaaja, double kaasunMaara) 
     121    { 
     122        pelaaja.Push(pelaaja.Angle.GetVector() * kaasunMaara); 
     123    } 
    73124 
    74125 
     
    95146        avaruusalus.X = x; 
    96147        avaruusalus.Y = y; 
     148        avaruusalus.Tag = "alus"; 
     149        avaruusalus.AngularDamping = 0.1; 
    97150 
    98151        return avaruusalus; 
Note: See TracChangeset for help on using the changeset viewer.