source: 2010/27/patammi/Autopeli1/Peli.cs @ 1155

Revision 1155, 3.1 KB checked in by paaaanro, 11 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : TopDownPhysicsGame
7{
8    Automobile auto;
9    Automobile auto2;
10
11    LaserGun laserPyssy;
12    LaserGun LaserPyssy;
13   
14    protected override void Begin()
15    {
16        KineticFriction = 1.0; // Asetetaan kitka
17
18        auto = new Automobile(40, 20);
19        auto.Mass = 1.0;
20        auto.Color = new Color(0,0,0);
21        auto.AngularDamping = 0.9;
22        Add(auto);
23
24        laserPyssy = new LaserGun(20, 5);
25        auto.Add(laserPyssy);
26        LaserPyssy = new LaserGun(20, 5);
27
28        auto2 = new Automobile(40, 20);
29        auto2.Mass = 10.0;
30        auto2.Color = new Color(192, 192, 255);
31        auto2.AngularDamping = 0.9;
32        Add(auto2);
33
34        auto2.Add(LaserPyssy);
35
36       
37        for (int a = 0; a < 100; a++)
38        {
39            PhysicsObject laatikko = new PhysicsObject(10, 10);
40            laatikko.X = RandomGen.NextDouble(-4000, 4000);
41            Add(laatikko);
42        }
43
44
45        Camera.ZoomToLevel(5);
46        Level.CreateBorders(1.0, false);
47        Level.BackgroundColor = Color.Gray;
48
49        AsetaNappaimet();
50        AsetaXBoxOhjaimet();
51    }
52
53    void AsetaXBoxOhjaimet()
54    {
55        ControllerOne.ListenAnalog (AnalogControl.LeftStick,0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.");
56
57       
58    }
59    void LiikutaPelaajaa(AnalogState state)
60    {
61        auto.Turn(Angle.Degrees(state.StateVector.X*-4), Time.SinceLastUpdate.TotalSeconds);
62    }
63    void AsetaNappaimet()
64    {
65        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
66        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
67        Keyboard.Listen(Key.Up, ButtonState.Down, kiihdyta, "Kiihdytä", auto);
68        Keyboard.Listen(Key.Down, ButtonState.Down, jarruta, "Jarruta", auto);
69        Keyboard.Listen(Key.Left, ButtonState.Down, kaanny, "Käänny vasemmalle", auto, Angle.Degrees(1));
70        Keyboard.Listen(Key.Right, ButtonState.Down, kaanny, "Käänny oikealle", auto, Angle.Degrees(-1));
71
72        Keyboard.Listen(Key.W, ButtonState.Down, kiihdyta, "Kiihdytä", auto2);
73        Keyboard.Listen(Key.S, ButtonState.Down, jarruta, "Jarruta", auto2);
74        Keyboard.Listen(Key.A, ButtonState.Down, kaanny, "Käänny vasemmalle", auto2, Angle.Degrees(1));
75        Keyboard.Listen(Key.D, ButtonState.Down, kaanny, "Käänny oikealle", auto2, Angle.Degrees(-1));
76
77
78        Keyboard.Listen(Key.M, ButtonState.Down, laserPyssy.Use, "ammu");
79        Keyboard.Listen(Key.V, ButtonState.Down, LaserPyssy.Use, "ammu");
80
81
82    }
83
84
85    void laaserase()
86    {
87
88   
89    //laserPyssy.LaserCollision = LaserSadeOsuu;
90   
91   
92    }
93
94   
95
96
97
98    void kiihdyta(Automobile auto)
99    {
100        auto.Accelerate(Time.SinceLastUpdate.TotalSeconds);
101    }
102
103    void jarruta(Automobile auto)
104    {
105        auto.Brake(Time.SinceLastUpdate.TotalSeconds);
106    }
107
108    void kaanny(Automobile auto, Angle kaannos)
109    {
110        auto.Turn(kaannos, Time.SinceLastUpdate.TotalSeconds);
111    }
112
113
114
115
116
117
118
119}
Note: See TracBrowser for help on using the repository browser.