source: 2010/23/veeevauh/Tortoise Racing/Peli.cs @ 624

Revision 624, 6.2 KB checked in by veeevauh, 11 years ago (diff)

TORTOISE OWNs U ALL!!! <3333333

Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Tortoise_Racing
7{
8    public class Peli : TopDownPhysicsGame
9    {
10        Automobile auto;
11        PhysicsObject viiva;
12        PhysicsObject viiva2;
13        PhysicsObject reunaOikea;
14        PhysicsObject reunaAlas;
15        PhysicsObject reunaVasen;
16        PhysicsObject reunaYla;
17        double kentta = 1;
18
19        protected override void Begin()
20        {
21            TeeTaso();
22            LuoAuto();
23            HoidaHommat();
24            LisaaReunat();
25
26
27        }
28
29       // void TeeMenu()
30       // {
31         //   PhysicsObject menu = PhysicsObject.CreateStaticObject(1200, 1000);
32           // menu.IsVisible = true;
33           // menu.Image = LoadImage("menu");
34           // AddSurface(taso);
35        //}
36
37        void LuoAuto()
38        {
39            auto = new Automobile(57.5, 40);
40            auto.Mass = 100.0;
41            auto.Acceleration = 550;
42            auto.KineticFriction = 1;
43            auto.X = 0;
44            auto.Y = 300;
45            auto.Color = new Color(192, 192, 255);
46            auto.Maneuverability = Angle.Radians(Math.PI);
47            auto.IsVisible = true;
48            Add(auto);
49            auto.TopSpeed = 0.03;
50            auto.Image = LoadImage("tortoise1");
51
52            AddCollisionHandler(auto, TortoiseTormasiViiva);
53
54           
55        }
56
57        void TortoiseTormasiViiva(PhysicsObject auto, PhysicsObject kohde)
58        {
59            if ((kohde == viiva) || (kohde == viiva2) || (kohde == reunaOikea) || (kohde == reunaVasen) || (kohde == reunaAlas) || (kohde == reunaYla))
60            {
61                //Vector temp = auto.Velocity;
62                //auto.Stop();
63                auto.Velocity = -auto.Velocity;
64            }
65        }
66
67        void TeeTaso()
68        {
69
70            PhysicsObject taso = PhysicsObject.CreateStaticObject(1200, 1000);
71            taso.IsVisible = true;
72            taso.Image = LoadImage("rata_oval01");
73            AddSurface(taso);
74        }
75
76        void HoidaHommat()
77        {
78            //KineticFriction = 0.1; // Asetetaan kitka
79            Gravity = 300;
80
81
82            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
83
84            //Keyboard.Listen(Key.U, ButtonState.Pressed, taso1, "Siirry ekaan kenttään");
85
86            Keyboard.Listen(Key.Up, ButtonState.Down, kiihdyta, "Kiihdytä", auto);
87            Keyboard.Listen(Key.Down, ButtonState.Down, jarruta, "Jarruta", auto);
88            Keyboard.Listen(Key.Left, ButtonState.Down, kaanny, "Käänny vasemmalle", auto, Angle.Degrees(-160));
89            Keyboard.Listen(Key.Right, ButtonState.Down, kaanny, "Käänny oikealle", auto, Angle.Degrees(160));
90
91            ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, kaanny, "Käänny vasemmalle", auto, Angle.Degrees(-160));
92            ControllerOne.Listen(Button.DPadRight, ButtonState.Down, kaanny, "Käänny oikealle", auto, Angle.Degrees(160));
93            ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, kiihdyta, "Kiihdytä", auto);
94            ControllerOne.Listen(Button.LeftTrigger, ButtonState.Down, jarruta, "Jarruta", auto);
95
96
97            ShowControlHelp();
98        }
99
100        void LisaaReunat()
101        {
102            if (kentta == 1)
103            {
104                LisaaReunatKentta1();
105            }
106            else if (kentta == 2)
107            {
108                LisaaReunatKentta2();
109            }
110            else if (kentta == 3)
111            {
112                LisaaReunatKentta3();
113            }
114            else if (kentta == 4)
115            {
116                LisaaReunatKentta4();
117            }
118
119        }1
120
121        void LisaaReunatKentta1()
122        {
123            //taso.Image = LoadImage("rata_oval01");
124
125            viiva = PhysicsObject.CreateStaticObject(10, 730);
126            viiva.IsVisible = true;
127            viiva.Angle = Angle.Degrees(60);
128
129            viiva2 = PhysicsObject.CreateStaticObject(10, 730);
130            viiva2.IsVisible = true;
131            viiva2.Angle = Angle.Degrees(-60);
132
133
134            viiva.X = 0;
135            viiva.Y = 0;
136            viiva2.X = 0;
137            viiva2.Y = 0;
138
139            viiva.Color = Color.Black;
140            viiva2.Color = Color.Black;
141           
142            AddSurface(viiva);
143            AddSurface(viiva2);
144
145            reunaOikea = PhysicsObject.CreateStaticObject(25, 1400);
146            reunaOikea.IsVisible = true;
147            reunaOikea.X = 700;
148            reunaOikea.Y = 0;
149            Add(reunaOikea);
150
151            reunaVasen = PhysicsObject.CreateStaticObject(25, 1400 );
152            reunaVasen.IsVisible = true;
153            reunaVasen.X = -700;
154            reunaVasen.Y = 0;
155            Add(reunaVasen);
156
157            reunaYla = PhysicsObject.CreateStaticObject(1400, 25);
158            reunaYla.IsVisible = true;
159            reunaYla.X = 0;
160            reunaYla.Y = 600;
161            Add(reunaYla);
162
163            reunaAlas = PhysicsObject.CreateStaticObject(1400, 25);
164            reunaAlas.IsVisible = true;
165            reunaAlas.X = 0;
166            reunaAlas.Y = -600;
167            Add(reunaAlas);
168        }
169
170        void LisaaReunatKentta2()
171        {
172            PhysicsObject viiva = PhysicsObject.CreateStaticObject(10, 500);
173            viiva.IsVisible = true;
174            AddSurface(viiva);
175
176        }
177
178        void LisaaReunatKentta3()
179        {
180            PhysicsObject viiva = PhysicsObject.CreateStaticObject(10, 500);
181            viiva.IsVisible = true;
182            AddSurface(viiva);
183
184        }
185
186        void LisaaReunatKentta4()
187        {
188            PhysicsObject viiva = PhysicsObject.CreateStaticObject(10, 500);
189            viiva.IsVisible = true;
190            AddSurface(viiva);
191
192        }
193
194        void kiihdyta(Automobile auto)
195        {
196            auto.Accelerate(Time.SinceLastUpdate.TotalSeconds);
197
198        }
199
200        void jarruta(Automobile auto)
201        {
202            auto.Brake(Time.SinceLastUpdate.TotalSeconds);
203        }
204
205        void kaanny(Automobile auto, Angle kaannos)
206        {
207            auto.Turn(kaannos, Time.SinceLastUpdate.TotalSeconds);
208           
209        }
210    }
211}
Note: See TracBrowser for help on using the repository browser.