Changeset 1680 for 2010/31


Ignore:
Timestamp:
2010-08-06 13:23:38 (9 years ago)
Author:
paaaanro
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/31/jomaveij/CoopShootEmUp/Peli.cs

    r1629 r1680  
    88    Timer kello; 
    99    PhysicsObject pelaaja; 
     10    PhysicsObject minion; 
     11    PlasmaCannon plasmatykki; 
    1012 
    1113    protected override void Begin() 
     
    2527        pelaaja.Shape = Shapes.Triangle; 
    2628        pelaaja.IgnoresCollisionResponse = true; 
    27  
    28         Keyboard.Listen(Key.Left, ButtonState.Down, Vauhdikkuus, "Siirry vasemmalle", new Vector(-100.0, 0.0)); 
     29        plasmatykki = new PlasmaCannon(20, 20); 
     30        plasmatykki.Angle = Angle.Degrees(90); 
     31        plasmatykki.PlasmaParticleCollision = PlasmaAmmusOsuma; 
     32        pelaaja.Add(plasmatykki); 
     33        Keyboard.Listen(Key.Space, ButtonState.Down, plasmatykki.Use, "Tulta"); 
     34        Keyboard.Listen(Key.Left, ButtonState.Down, Vauhdikkuus, "Siirry vasemmalle", new Vector(-200.0, 0.0)); 
    2935        Keyboard.Listen(Key.Left, ButtonState.Released, Vauhdikkuus, null, Vector.Zero); 
    30         Keyboard.Listen(Key.Right, ButtonState.Down, Vauhdikkuus, "Sirry oikealle", new Vector (100.0, 0.0)); 
     36        Keyboard.Listen(Key.Right, ButtonState.Down, Vauhdikkuus, "Sirry oikealle", new Vector (200.0, 0.0)); 
    3137        Keyboard.Listen(Key.Right, ButtonState.Released, Vauhdikkuus, null, Vector.Zero); 
     38        Keyboard.Listen(Key.Up, ButtonState.Down, Vauhdikkuus, "Eespäin", new Vector (0.0, 200.0)); 
     39        Keyboard.Listen(Key.Up, ButtonState.Released, Vauhdikkuus, null, Vector.Zero); 
     40        Keyboard.Listen(Key.Down, ButtonState.Down, Vauhdikkuus, "Peräänny", new Vector (0.0, -200.0)); 
     41        Keyboard.Listen(Key.Down, ButtonState.Released, Vauhdikkuus, null, Vector.Zero); 
    3242        Add(pelaaja); 
    3343        return pelaaja; 
     
    3646    PhysicsObject Minion() 
    3747    { 
    38         PhysicsObject minion = new PhysicsObject(50.0, 50.0); 
     48        minion = new PhysicsObject(50.0, 50.0); 
    3949        minion.Color = Color.DarkGray; 
    4050        minion.Shape = Shapes.Triangle; 
     51        minion.Angle = Angle.Degrees(180); 
    4152        double vaakasijainti = RandomGen.NextDouble(Level.Left, Level.Right); 
    4253        minion.Y = Level.Top + 200; 
    4354        minion.X = vaakasijainti; 
    4455        Add(minion); 
    45  
     56        PlasmaCannon minionPlasma = new PlasmaCannon(20, 5); 
     57        minionPlasma.Angle = Angle.Degrees(90); 
     58        minionPlasma.PlasmaParticleCollision = VastustajienTuli; 
     59        minion.Add(minionPlasma); 
    4660        Vector[] reitti = new Vector[2]; 
    4761        reitti[0] = new Vector(0, Level.Top); 
     
    5165        aivot.Speed = 200; 
    5266        aivot.Active = true; 
     67        Timer ampumajastin = new Timer(); 
     68        ampumajastin.Interval = 0.3; 
     69        ampumajastin.Tag = minionPlasma; 
     70        ampumajastin.Trigger += VihollinenAmpuu; 
     71        ampumajastin.Start(); 
     72 
    5373        return minion; 
     74    } 
     75 
     76    void VihollinenAmpuu(Timer ajastin) 
     77    { 
     78        ((PlasmaCannon)ajastin.Tag).Shoot(); 
    5479    } 
    5580 
     
    6691    { 
    6792        PhysicsObject tuho = PhysicsObject.CreateStaticObject(Screen.Width, 60.0); 
    68         tuho.Y = Level.Bottom + 0; 
     93        tuho.Y = Level.Bottom - 200; 
    6994        Add(tuho); 
    7095        AddCollisionHandler(tuho, Tyrmays); 
     
    75100    { 
    76101        kohde.Destroy(); 
    77         MessageDisplay.Add("Vihollinen pääsi ohitsesi"); 
     102    } 
     103 
     104    void PlasmaAmmusOsuma(PhysicsObject ammus, PhysicsObject kohde) 
     105    { 
     106 
     107        if (kohde != pelaaja) 
     108        { 
     109            kohde.Destroy(); 
     110            MessageDisplay.Add("Vihollisalus tuhottu"); 
     111        } 
     112 
     113    } 
     114 
     115    void VastustajienTuli(PhysicsObject ammus, PhysicsObject kohde) 
     116    { 
     117        if (kohde == pelaaja) 
     118        { 
     119            kohde.Destroy(); 
     120            MessageDisplay.Add("Game Over"); 
     121        } 
    78122    } 
    79123 
Note: See TracChangeset for help on using the changeset viewer.