source: 2010/31/pakralki/Tankkipeli/Tankkipeli/Peli.cs @ 1619

Revision 1619, 1.9 KB checked in by pakralki, 12 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Tankkipeli : PhysicsGame
7{
8    Tank tankki;
9
10    protected override void Begin()
11    {
12        LuoKentta();
13        AsetaOhjaimet();
14    }
15
16    void LuoKentta()
17    {
18       
19        Gravity = new Vector(0, -400);
20        Level.CreateBorders();
21        LuoTankki();
22        Camera.ZoomToLevel();
23    }
24
25    void LuoTankki()
26    {
27        AssaultRifle pyssy = new AssaultRifle(20, 5);
28       
29        tankki = new Tank(100, 40);
30        tankki.Y = Level.Bottom + 40;
31        Add(tankki);
32    }
33
34    void AsetaOhjaimet()
35    {
36        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
37        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
38
39        Keyboard.Listen(Key.Left, ButtonState.Down, Aja, "Liiku vasemmalle", tankki, 1.0);
40        Keyboard.Listen(Key.Right, ButtonState.Down, Aja, "Liiku oikealle", tankki, -1.0);
41        Keyboard.Listen(Key.Up, ButtonState.Down, KaannaPutkea, "Käännä putkea vastapäivään", tankki, Angle.Degrees(1));
42        Keyboard.Listen(Key.Down, ButtonState.Down, KaannaPutkea, "Käännä putkea myötäpäivään", tankki, Angle.Degrees(-1));
43        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu");
44
45
46
47
48
49    }
50
51    void Aja(Tank t, double vaanto)
52    {
53        t.Accelerate(vaanto);
54    }
55
56    void KaannaPutkea(Tank t, Angle kaanto)
57    {
58        t.Cannon.Angle += kaanto;
59    }
60    void KuulaOsuu(PhysicsObject kuula, PhysicsObject toinen)
61    {
62        kuula.Destroy();
63        Explosion rajahdys = new Explosion(40);
64        rajahdys.Position = kuula.Position;
65        Add(rajahdys);
66    }
67    void AmmuAseella()
68    {
69        PhysicsObject ammus = tankki.Shoot();
70
71        if (ammus != null)
72        {
73            ammus.Size *= 3;
74        }
75    }
76
77
78}
Note: See TracBrowser for help on using the repository browser.