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

Revision 722, 7.1 KB checked in by vajuanse, 11 years ago (diff)

Peli on loppu

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