Changeset 2369


Ignore:
Timestamp:
2011-06-30 14:49:05 (8 years ago)
Author:
jahebahu
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/26/HenriH/Alien Empire/Alien Empire/Alien Empire/Peli.cs

    r2302 r2369  
    2323    AssaultRifle Plasma1; 
    2424    AssaultRifle Plasma2; 
     25    ExplosionSystem rajahdys; 
    2526    public override void Begin() 
    2627    { 
     
    8788        Level.CreateBorders(); 
    8889        alus1 = new PhysicsObject(50.0, 50.0); 
    89         alus2 = new PhysicsObject(50.0, 50.0); 
     90        alus1.Tag = "Alus1"; 
     91         
    9092        alus1.X = 300; 
    9193        alus1.Y = 150; 
    92         alus2.X = 150; 
    93         alus2.Y = 300; 
     94        
    9495        alus1.Image = olionkuva; 
    95         alus2.Image = olionkuva2; 
     96         
    9697        alus1.AngularDamping = 0.50; 
    97         alus2.AngularDamping = 0.50; 
     98         
    9899        alus1.Restitution = 0.2; 
    99         alus2.Restitution = 0.2; 
     100         
     101        alus1.CollisionIgnoreGroup = 1; 
     102         
     103        LuoLaskuri(); 
     104        LuoLaskuri1(); 
     105        LuoAlus2(); 
     106        LuoAlus1(); 
    100107 
    101108        Plasma1 = new AssaultRifle(20, 5); 
     
    103110        alus1.Add(Plasma1); 
    104111        alus2.Add(Plasma2); 
    105  
    106         Add(alus1); 
    107         Add(alus2); 
     112        Plasma1.ProjectileCollision = AmmusOsui; 
     113        Plasma2.ProjectileCollision = AmmusOsui2; 
     114        rajahdys = new ExplosionSystem(LoadImage("special"), 150); 
     115    Add(rajahdys); 
     116 
     117         
     118 
    108119        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
    109120        Keyboard.Listen(Key.Up, ButtonState.Down, kiihdytaalus, "Kiihdytä alusta 1", alus1); 
     
    115126        Keyboard.Listen(Key.W, ButtonState.Released, ajaalus2, null, alus2); 
    116127        Keyboard.Listen(Key.D, ButtonState.Down, kaannaalus4, "Käännä alusta Oikealle.", alus2); 
    117         Keyboard.Listen(Key.RightShift, ButtonState.Down, AmmuAseella, "Ammu pelaajan 1 asetta", Plasma1); 
    118         // Keyboard.Listen(Key.LeftShift, ButtonState.Down, AmmuAseella, "Ammu Pelaajan 2 asetta"); 
     128        Keyboard.Listen(Key.RightShift, ButtonState.Down, AmmuAseella, "Ammu pelaajan 1 asetta", Plasma1, alus1); 
     129        Keyboard.Listen(Key.LeftShift, ButtonState.Down, AmmuAseella2, "Ammu Pelaajan 2 asetta", Plasma2, alus2); 
    119130 
    120131 
     
    160171        alus2.Push(voima); 
    161172    } 
    162     void AmmuAseella(Weapon Plasma1) 
     173    void AmmuAseella(Weapon Plasma1, PhysicsObject alus) 
    163174    { 
    164175        PhysicsObject ammus = Plasma1.Shoot(); 
     
    168179        if (ammus != null) 
    169180        { 
    170             ammus.Size *= 3; 
     181            ammus.Size *= 2; 
    171182            ammus.Image = plasma_ammus1; 
    172183            Plasma1.Ammo.Value = 3000; 
    173             Plasma1.ProjectileCollision = AmmusOsui; 
    174         } 
    175     } 
    176     void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
    177     { 
    178         ammus.Destroy(); 
    179         Explosion rajahdys = new Explosion(15); 
    180         rajahdys.Position = ammus.Position; 
    181         Add(rajahdys); 
    182     } 
    183  
    184 } 
     184 
     185            ammus.CollisionIgnoreGroup = alus.CollisionIgnoreGroup; 
     186        } 
     187    } 
     188 
     189    void AmmusOsui(PhysicsObject Ammus, PhysicsObject kohde) 
     190    { 
     191        if (kohde.Tag.ToString() == "Alus2") 
     192        { 
     193          rajahdys.AddEffect(Ammus.Position, 20); 
     194          elamalaskuri2.Value -= 10; 
     195        } 
     196 
     197        if (elamalaskuri2.Value<=0) 
     198        { 
     199 
     200            Remove(alus2); 
     201            elamalaskuri2.Value = 100; 
     202            //LuoAlus2(); 
     203            Timer.SingleShot(3.0, ajastinlaukesi); 
     204            kuolemalaskuri.Value -= 1; 
     205        } 
     206 
     207        Ammus.Destroy(); 
     208    } 
     209 
     210    void AmmuAseella2(Weapon Plasma2, PhysicsObject alus2) 
     211    { 
     212        PhysicsObject ammus = Plasma2.Shoot(); 
     213 
     214 
     215 
     216        if (ammus != null) 
     217        { 
     218            ammus.Size *= 2; 
     219            ammus.Image = plasma_ammus1; 
     220            Plasma2.Ammo.Value = 3000; 
     221 
     222            ammus.CollisionIgnoreGroup = alus2.CollisionIgnoreGroup; 
     223        } 
     224    } 
     225 
     226    void AmmusOsui2(PhysicsObject Ammus, PhysicsObject kohde) 
     227    { 
     228        if (kohde.Tag.ToString() == "Alus1") 
     229        { 
     230            rajahdys.AddEffect(Ammus.Position, 20); 
     231            elamalaskuri1.Value -= 10; 
     232        } 
     233 
     234        if (elamalaskuri1.Value <= 0) 
     235        { 
     236 
     237            Remove(alus1); 
     238            elamalaskuri1.Value = 100; 
     239            Timer.SingleShot(3.0, ajastinlaukesi2); 
     240        } 
     241 
     242        Ammus.Destroy(); 
     243    } 
     244     
     245     
     246    IntMeter elamalaskuri2; 
     247 
     248    void LuoLaskuri() 
     249    { 
     250        elamalaskuri2 = new IntMeter(100); 
     251 
     252        Label pisteNaytto = new Label(); 
     253        pisteNaytto.X = Screen.Right - 100; 
     254        pisteNaytto.Y = Screen.Top - 100; 
     255        pisteNaytto.TextColor = Color.White; 
     256 
     257        
     258        pisteNaytto.BindTo(elamalaskuri2); 
     259        Add(pisteNaytto); 
     260    } 
     261    void LuoAlus2() 
     262    { 
     263        alus2 = new PhysicsObject(50.0, 50.0); 
     264        alus2.Tag = "Alus2";  
     265        alus2.X = 150; 
     266        alus2.Y = 300; 
     267        alus2.Image = olionkuva2; 
     268        alus2.AngularDamping = 0.50; 
     269        alus2.Restitution = 0.2; 
     270        alus2.CollisionIgnoreGroup = 2; 
     271        Add(alus2); 
     272    } 
     273    void ajastinlaukesi() 
     274    { 
     275        Add(alus2); 
     276    } 
     277 
     278    IntMeter elamalaskuri1; 
     279 
     280    void LuoLaskuri1() 
     281    { 
     282        elamalaskuri1 = new IntMeter(100); 
     283 
     284        Label pisteNaytto = new Label(); 
     285        pisteNaytto.X = Screen.Left + 100; 
     286        pisteNaytto.Y = Screen.Top - 100; 
     287        pisteNaytto.TextColor = Color.White; 
     288 
     289 
     290        pisteNaytto.BindTo(elamalaskuri1); 
     291        Add(pisteNaytto); 
     292    } 
     293    void LuoAlus1() 
     294    { 
     295        alus1 = new PhysicsObject(50.0, 50.0); 
     296        alus1.Tag = "Alus1"; 
     297        alus1.X = 300; 
     298        alus1.Y = 150; 
     299        alus1.Image = olionkuva; 
     300        alus1.AngularDamping = 0.50; 
     301        alus1.Restitution = 0.2; 
     302        alus1.CollisionIgnoreGroup = 1; 
     303        Add(alus1); 
     304    } 
     305    void ajastinlaukesi2() 
     306    { 
     307        Add(alus1); 
     308    } 
     309 
     310    IntMeter kuolemalaskuri; 
     311 
     312    void laskuri3() 
     313    { 
     314        kuolemalaskuri = new IntMeter(5); 
     315 
     316        Label pisteNaytto = new Label(); 
     317        pisteNaytto.X = Screen.Left + 50; 
     318        pisteNaytto.Y = Screen.Top - 100; 
     319        pisteNaytto.TextColor = Color.White; 
     320 
     321        pisteNaytto.BindTo(kuolemalaskuri); 
     322        Add(pisteNaytto); 
     323 
     324        if (kuolemalaskuri.Value <= 0) 
     325        { 
     326            Lopputeksti1(); 
     327        }} 
     328        void Lopputeksti1() 
     329            { 
     330                Level.Background.Image = taustakuva; 
     331                Label tekstikentta = new Label(50.0, 20.0, "Pelaaja 1, sinä voitit! Pelaaja 2, hävisit, olet surkea."); 
     332                Add(tekstikentta); 
     333            } 
     334        } 
     335     
Note: See TracChangeset for help on using the changeset viewer.