source: 2011/31/OnniP/PerusPeli3/PerusPeli3/Peli.cs @ 2538

Revision 2538, 5.2 KB checked in by onpernu, 8 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Peli : PhysicsGame
10{
11    Image MansikanKuva = LoadImage("Transparent Mansikka");
12    Image PilviKuva = LoadImage("Pillvi");
13    Image Pilvikuva2 = LoadImage ("Pillvi3");
14    GameObject Sydän1;
15    GameObject Sydän2;
16    GameObject Sydän3;
17    PhysicsObject Mansikka;
18    PhysicsObject Maila;
19   
20    Vector nopeusVasemmalle = new Vector(-100, 0);
21    Vector nopeusOikealle = new Vector (100, 0);
22    Vector Pysähdys = new Vector(0, 0);
23
24   
25
26    public override void Begin()
27
28    {
29        //luoMaila( Level.Left + 20.0, 0.0 );
30
31        //luoMaila( Level.Right - 20.0, 0.0 );
32
33        Camera.ZoomToLevel();
34        PhysicsObject katto = PhysicsObject.CreateStaticObject(1300, 100);
35        katto.X = 0;
36        katto.Y = 500;
37        katto.IsVisible = false;
38        Add(katto);
39        katto.Color = Color.Cyan;
40        PhysicsObject lattia =  PhysicsObject.CreateStaticObject(1300, 100);
41        lattia.Y = -400;
42        Add(lattia);
43        lattia.IsVisible = true;
44        luoMansikka ();
45        lattia.Color = Color.DarkGray;
46       
47        Level.BackgroundColor = Color.SkyBlue;
48        luoPilvi();
49        //MansikkaMaassa();
50        lattia.Tag = "lattia";
51        PhysicsObject oikeaSeinä = PhysicsObject.CreateStaticObject(300, 800);
52        oikeaSeinä.X = -600;
53        oikeaSeinä.IsVisible = true;
54        oikeaSeinä.Color = Color.Black;
55        Add(oikeaSeinä);
56        PhysicsObject vasenSeinä = PhysicsObject.CreateStaticObject(300, 800);
57        vasenSeinä.X = 600;
58        vasenSeinä.IsVisible = true;
59        vasenSeinä.Color = Color.Black;
60        Add(vasenSeinä);
61        Sydän1 = new GameObject(30, 30);
62        Sydän1.Shape = Shape.Heart;
63        Sydän1.Color = Color.Pink;
64        Sydän1.X = 300;
65        Sydän1.Y = -330;
66        Add(Sydän1);
67        Sydän2 = new GameObject(30, 30);
68        Sydän2.Shape = Shape.Heart;
69        Sydän2.Color = Color.Pink;
70        Sydän2.X = 350;
71        Sydän2.Y = -330;
72        Add(Sydän2); 
73        Sydän3 = new GameObject(30, 30);
74        Sydän3.Shape = Shape.Heart;
75        Sydän3.Color = Color.Pink;
76        Sydän3.X = 400;
77        Sydän3.Y = -330;
78        Add(Sydän3);
79       
80        Maila = PhysicsObject.CreateStaticObject (80, 20);
81        Maila.Color = Color.Black;
82        Add(Maila);
83         Asetaohjaimet ();
84       
85
86
87   
88
89}
90    void luoMansikka()
91    {
92        Mansikka = new PhysicsObject(80, 90);
93        Mansikka.Image = MansikanKuva;
94        Mansikka.X = RandomGen.NextDouble(-500, 500);
95        Mansikka.Y = 300;
96        Add(Mansikka);
97        Vector impulssi = new Vector(0, -100);
98        Mansikka.Hit(impulssi);
99        Mansikka.Tag = "Mansikka";
100        AddCollisionHandler(Mansikka, MansikkaMaassa);
101
102       
103
104       
105    }
106    void luoPilvi()
107   
108{
109    GameObject Pilvi = new GameObject (800, 400);
110    Pilvi.Image = PilviKuva;
111    Pilvi.Y = 200;
112    Pilvi.X = 300;
113    Add(Pilvi);
114    Pilvi.IsVisible = true;
115
116    GameObject Pilvi3 = new GameObject(800, 400);
117    Pilvi3.Image = Pilvikuva2;
118    Add (Pilvi3);
119    Pilvi3.X = -400;
120    Pilvi3.Y = 300;
121
122        }
123    void MansikkaMaassa(PhysicsObject tormaaja, PhysicsObject Kohde)
124    {
125       
126        if (Kohde.Tag == "lattia")
127    {
128            Explosion rajahdys = new Explosion(100);
129            rajahdys.Position = tormaaja.Position;
130            Add(rajahdys);
131            tormaaja.Destroy();
132            luoMansikka();
133
134            if (!Sydän1.IsDestroyed)
135            {
136                Sydän1.Destroy();
137                return;
138            }
139           
140             
141   
142            if (!Sydän2.IsDestroyed)
143            {
144                Sydän2.Destroy();
145                return;
146            }
147
148
149            if (!Sydän3.IsDestroyed)
150            {
151                Sydän3.Destroy();
152               
153            }
154           
155            else if (Sydän3.IsDestroyed)
156            { Exit(); }
157    }}
158
159    void Asetaohjaimet()
160    {
161        Keyboard.Listen(Key.Left, ButtonState.Down, Asetanopeus, "Liiku Vasemmalle", Maila, nopeusVasemmalle);
162        Keyboard.Listen(Key.Right, ButtonState.Down,Asetanopeus, "Liiku Oikealle", Maila, nopeusOikealle);
163        Keyboard.Listen(Key.Right,ButtonState.Released, Asetanopeus, "Pysähdys", Maila, Pysähdys);
164        Keyboard.Listen(Key.Left, ButtonState.Released, Asetanopeus, "Pysähdys", Maila, Pysähdys);
165   
166    }
167
168
169   
170
171    void Asetanopeus (PhysicsObject Maila, Vector nopeus)
172
173    { 
174   
175        Maila.Velocity = nopeus;
176
177   
178   
179    }
180     
181    void luoMaila ()
182
183    {
184        PhysicsObject Maila = PhysicsObject.CreateStaticObject( 20.0, 100.0 );
185        Maila.Shape = Shape.Rectangle;
186        Maila.X = 0;
187        Maila.Y = -50;
188        Maila.Restitution = 1.0;
189        Add (Maila);
190
191       // return Maila;
192
193
194
195    }
196
197   
198 
199
200}
201   
202       
203   
204   
205   
206
207   
208   
209 
210   
211     
212     
213     
214
215   
216   
217   
218
219   
220   
221 
222
223
224
225
226   
227     
228       
229   
230   
231
232
233
234
235
236
237
238
Note: See TracBrowser for help on using the repository browser.