source: 2010/30/jumakall/The_Bus_Game_Codetest/Peli.cs @ 1382

Revision 1382, 2.5 KB checked in by jumakall, 11 years ago (diff)

Pallomasiina lisätty
The Bus Gamen pysäkkisysteemi aloitettu

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : TopDownPhysicsGame
7{
8    PhysicsObject laatikko;
9    Automobile auto;
10
11    protected override void Begin()
12    {
13        KineticFriction = 0.8; // Asetetaan kitka
14
15        Automobile auto = new Automobile(40, 20);
16        auto.Mass = 200.0;
17        auto.Color = new Color(192, 192, 255);
18        Add(auto);
19
20        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
21        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
22        Keyboard.Listen(Key.Up, ButtonState.Down, kiihdyta, "Kiihdytä", auto);
23        Keyboard.Listen(Key.Down, ButtonState.Down, jarruta, "Jarruta", auto);
24        Keyboard.Listen(Key.Left, ButtonState.Down, kaanny, "Käänny vasemmalle", auto, Angle.Degrees(1));
25        Keyboard.Listen(Key.Right, ButtonState.Down, kaanny, "Käänny oikealle", auto, Angle.Degrees(-1));
26
27        ShowControlHelp();
28
29        Aloita();
30
31        AddCollisionHandler(auto, kasittele);
32
33
34       
35    }
36
37    void kiihdyta(Automobile auto)
38    {
39        auto.Accelerate(Time.SinceLastUpdate.TotalSeconds);
40    }
41
42    void jarruta(Automobile auto)
43    {
44        auto.Brake(Time.SinceLastUpdate.TotalSeconds);
45    }
46
47    void kaanny(Automobile auto, Angle kaannos)
48    {
49        auto.Turn(kaannos, Time.SinceLastUpdate.TotalSeconds);
50    }
51
52    void LuoLaatikko()
53    {
54        PhysicsObject laatikko = new PhysicsObject(40.0, 40.0);
55        laatikko.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
56        Add(laatikko);
57    }
58
59    void Aloita()
60    {
61        PhysicsObject vasenReuna = Level.CreateLeftBorder();
62        vasenReuna.Restitution = 1.0;
63        vasenReuna.IsVisible = false;
64        PhysicsObject  oikeaReuna= Level.CreateRightBorder();
65        oikeaReuna.Restitution = 1.0;
66        oikeaReuna.IsVisible = false;
67        PhysicsObject ylaReuna = Level.CreateTopBorder();
68        ylaReuna.Restitution = 1.0;
69        ylaReuna.IsVisible = false;
70        PhysicsObject alaReuna = Level.CreateBottomBorder();
71        alaReuna.Restitution = 1.0;
72        alaReuna.IsVisible = false;
73
74        LuoLaatikko();
75        LuoLaatikko();
76        LuoLaatikko();
77        Camera.ZoomToLevel();
78    }
79
80    void kasittele(PhysicsObject auto, PhysicsObject kohde)
81    {
82        if (kohde == laatikko)
83        {
84            MessageDisplay.Add("Törmäys!!!");
85        }
86    }
87}
Note: See TracBrowser for help on using the repository browser.