source: 2010/23/vajuanse/Get the money/Peli.cs @ 745

Revision 745, 7.0 KB checked in by vajuanse, 10 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Get_the_money
7{
8    public class Peli : TopDownPhysicsGame
9
10    {
11        Automobile auto;
12        PhysicsObject vasenseina;
13        PhysicsObject oikeaseina;
14        IntMeter pistelaskuri;
15        PhysicsObject raha;
16
17        protected override void Begin()
18        {
19       
20            SetWindowSize(true);
21
22           
23 
24            luokentta();
25            luoauto();
26            Asetaohjaimet();
27            luopistelaskuri();
28           
29
30
31            IntMeter laskuri = new IntMeter(0);
32            laskuri.MaxValue = 10000;
33            laskuri.UpperLimit += Laskurinylaraja;
34
35
36            Level.Background.CreateGradient(Color.Turquoise, Color.SkyBlue);
37
38            KineticFriction = 1.0; // Asetetaan kitka
39           
40        }
41
42        void luopistelaskuri()
43        {
44
45            pistelaskuri = new IntMeter(0);
46            ValueDisplay pistenaytto = new ValueDisplay();
47
48            pistenaytto.Text = "rahasi ";
49
50            pistenaytto.X = Screen.Left + 500;
51            pistenaytto.Y = Screen.Top - 100;
52
53            pistenaytto.ValueColor = Color.Black;
54            pistenaytto.TextColor = Color.White;
55
56            pistenaytto.BindTo(pistelaskuri);
57
58            Add(pistenaytto);
59            //tässä lisätään pistä näytö
60         }
61            void Asetaohjaimet()
62            {
63
64
65
66            Keyboard.Listen(Key.Enter, ButtonState.Pressed, aloitaalusta, "aloitaalusta");// jatka!!!...
67            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
68            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
69
70            Keyboard.Listen(Key.Up, ButtonState.Down, kiihdyta, "Kiihdytä", auto);
71            Keyboard.Listen(Key.Down, ButtonState.Down, jarruta, "Jarruta", auto);
72            Keyboard.Listen(Key.Left, ButtonState.Down, kaanny, "Käänny vasemmalle", auto, Angle.Degrees(90));
73            Keyboard.Listen(Key.Right, ButtonState.Down, kaanny, "Käänny oikealle", auto, Angle.Degrees(-90));
74
75            ControllerOne.Listen(Button.LeftTrigger, ButtonState.Down,kiihdyta,"kiihdutää!",auto);
76            ControllerOne.Listen(Button.RightTrigger,ButtonState.Down,jarruta,"jarrutaa",auto);
77            ControllerOne.Listen(Button.Y,ButtonState.Down,kaanny,"käänny", auto,Angle.Degrees(10));
78            ControllerOne.Listen(Button.A,ButtonState.Down,kaanny,"käänny", auto,Angle.Degrees(-10));
79
80            ControllerOne.Listen(Button.B, ButtonState.Pressed, ShowControlHelp, "näytäohjeet");
81            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "poistu");
82            ControllerOne.Listen(Button.X, ButtonState.Pressed, aloitaalusta, "Aloitaa alusta pelin");
83
84            ShowControlHelp();
85            }
86
87            void luoauto()
88            {
89                auto = new Automobile(40, 30);
90                auto.Mass = 120;
91                Add(auto);
92                auto.X = 0;
93                auto.Y = -140;
94                auto.AngularDamping = 0.95;// tämä estää pyörimisen
95            }
96
97
98        private void luokivi()
99        {
100            throw new NotImplementedException();
101        }
102
103        void kiihdyta(Automobile auto)
104        {
105            auto.Accelerate(Time.SinceLastUpdate.TotalSeconds);
106        }
107
108        void jarruta(Automobile auto)
109        {
110            auto.Brake(Time.SinceLastUpdate.TotalSeconds);
111        }
112
113        void kaanny(Automobile auto, Angle kaannos)
114        {
115            auto.Turn(kaannos, Time.SinceLastUpdate.TotalSeconds);
116        }
117
118        void luokentta()
119        {
120           
121
122            Timer ajastin = new Timer();
123            ajastin.Interval = 2;
124            ajastin.Trigger += lisaakivia;
125            Add(ajastin);
126            ajastin.Start();
127
128            Timer Ajastin = new Timer();
129            Ajastin.Interval = 10;
130            Ajastin.Trigger += lisaaraha;
131            Add(Ajastin);
132            Ajastin.Start();
133
134           
135            Camera.ZoomToLevel();
136
137            vasenseina = Level.CreateLeftBorder();
138            vasenseina.Restitution = 1.0;
139            vasenseina.IsVisible = false;
140            oikeaseina = Level.CreateRightBorder();
141            oikeaseina.Restitution = 1.0;
142            oikeaseina.IsVisible = false;
143            PhysicsObject alaseina = Level.CreateBottomBorder();
144            alaseina.Restitution = 1.0;
145            alaseina.IsVisible = false;
146            PhysicsObject ylaseina = Level.CreateTopBorder();
147            ylaseina.Restitution = 1.0;
148            ylaseina.IsVisible = false;
149
150            //kivi();
151        }
152
153        void kassitelekiventormays(PhysicsObject kivi, PhysicsObject kohde)
154        {
155            if (kohde == oikeaseina)
156            {
157                kivi.Destroy();
158            }
159            else if (kohde == auto)
160            {
161                auto.Destroy();
162                MessageDisplay.Add("Game Over");
163                pistelaskuri.Reset();
164            }
165            else if (kohde == raha)
166            {
167                raha.Destroy();
168                MessageDisplay.Add("haahaa raha tuhoutui");
169            }
170            else if (kohde == vasenseina)
171            {
172                kivi.Destroy();
173            }
174        }
175
176        void kivi()
177        {
178        }
179
180
181        void lisaakivia(Timer sender)
182        {
183            PhysicsObject kivi = new PhysicsObject(23, 23);
184            kivi.Shape = Shapes.Circle;
185            kivi.X = -450;
186            kivi.Y = RandomGen.NextDouble(Level.Bottom, Level.Top);
187            kivi.Restitution = 1.0;
188            AddCollisionHandler(kivi, kassitelekiventormays);
189
190            Add(kivi);
191            Vector impulssi = new Vector(400.0, 0.0);
192            kivi.Hit(impulssi);
193                 
194    }
195
196        void kassitelerahantormays ( PhysicsObject raha, PhysicsObject kohde)
197        {
198   
199            if (kohde == auto)
200            {
201                pistelaskuri.Value += 250;
202                MessageDisplay.Add("Sait Rahaa!");
203                raha.Destroy();
204            }
205           
206           
207        }
208
209        void lisaaraha(Timer sender)
210        {
211            PhysicsObject raha = new PhysicsObject(23, 23);
212            raha.Shape = Shapes.Circle;
213            raha.X = RandomGen.NextDouble(Level.Left, Level.Right);
214            raha.Y = RandomGen.NextDouble(Level.Top, Level.Bottom);
215            raha.Color = Color.ForestGreen;
216            AddCollisionHandler(raha, kassitelerahantormays);
217
218            raha.MaximumLifetime = new TimeSpan(0,0,15);
219
220            Add(raha); 
221
222        }
223
224        void Laskurinylaraja(int arvo)
225        {
226            MessageDisplay.TextColor = Color.White;
227            MessageDisplay.Add("Olet hyvä pelaaja!");
228        }
229
230        void aloitaalusta()
231        {
232            ClearAll();
233            luokentta();
234            luoauto();
235            luopistelaskuri();
236            Asetaohjaimet();
237        }
238       
239
240    }
241}
Note: See TracBrowser for help on using the repository browser.