source: 2012/27/MiloH/Helicopter criminal/Helicopter criminal/Helicopter criminal/Helicopter_criminal.cs @ 3677

Revision 3677, 8.4 KB checked in by mianheha, 10 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 Helicopter_criminal : PhysicsGame
10{
11    IntMeter pisteLaskuri;
12    Image kopterikuva = LoadImage ("helikopteri"); 
13    PhysicsObject helikopteri;
14    AssaultRifle ase;
15    PlatformCharacter sankari;
16    PhysicsObject alusta;
17   
18    public override void Begin()
19    {
20        Level.Width = 10000.0;
21
22
23
24
25        LuoPistelaskuri();
26        liikkeet();
27       
28        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
29"Aloita peli","Tasot", "Parhaat pisteet", "Lopeta peli");
30        Add(alkuValikko);
31        alkuValikko.Color = Color.DarkMagenta;
32
33        helikopteri = new PhysicsObject(150, 70);
34        Add (helikopteri);
35        helikopteri.X = Level.Left + 2500;
36        helikopteri.Image = kopterikuva;
37        sankari = new PlatformCharacter(20, 50);
38
39        Add(sankari);
40        sankari.Shape = Shape.Triangle;
41        sankari.Push(new Vector(400, 0));
42        sankari.X = Level.Left + 1000.0;
43       
44        ase = new AssaultRifle(30.0, 10.0);
45       
46        ase.Angle += Angle.FromDegrees(5);
47        ase.Shoot();
48        ase.Tag = "ase";
49        sankari.Add(ase);
50        ase.ProjectileCollision = ammusosui;
51
52        AddCollisionHandler<PlatformCharacter, PhysicsObject>(sankari, tormays);
53
54        PlatformCharacter poliisi = LuoPoliisi(Level.Left + 100, Level.Bottom + 1);
55        PlatformCharacter poliisi2 = LuoPoliisi(Level.Left +100, Level.Bottom + 1);
56        PlatformCharacter poliisi3 = LuoPoliisi(Level.Left +100, Level.Bottom + 1);
57        PlatformCharacter poliisi4 = LuoPoliisi(Level.Left +100, Level.Bottom + 1);
58        PlatformCharacter poliisi5 = LuoPoliisi(Level.Left +100, Level.Bottom + 1);
59        PlatformCharacter poliisi6 = LuoPoliisi(Level.Left +100, Level.Bottom + 1);
60        PlatformCharacter poliisi7 = LuoPoliisi(Level.Left +110, Level.Bottom + 1);
61        PlatformCharacter poliisi8 = LuoPoliisi(Level.Left +110, Level.Bottom + 1);
62        PlatformCharacter poliisi9 = LuoPoliisi(Level.Left +110, Level.Bottom + 1);
63        PlatformCharacter poliisi23 = LuoPoliisi(Level.Left + 100, Level.Bottom + 1);
64       
65        PlatformCharacter poliisi10 = LuoPoliisi(Level.Left + 2000, Level.Bottom + 1);
66        PlatformCharacter poliisi11 = LuoPoliisi(Level.Left + 2000, Level.Bottom + 1);
67        PlatformCharacter poliisi12 = LuoPoliisi(Level.Left + 2000, Level.Bottom + 1);
68        PlatformCharacter poliisi13 = LuoPoliisi(Level.Left + 2050, Level.Bottom + 1);
69        PlatformCharacter poliisi14 = LuoPoliisi(Level.Left + 2050, Level.Bottom + 1);
70        PlatformCharacter poliisi15 = LuoPoliisi(Level.Left + 2050, Level.Bottom + 1);
71        PlatformCharacter poliisi16 = LuoPoliisi(Level.Left + 2100, Level.Bottom + 1);
72        PlatformCharacter poliisi17 = LuoPoliisi(Level.Left + 2100, Level.Bottom + 1);
73        PlatformCharacter poliisi18 = LuoPoliisi(Level.Left + 2100, Level.Bottom + 1);
74        PlatformCharacter poliisi19 = LuoPoliisi(Level.Left + 2200, Level.Bottom + 1);
75        PlatformCharacter poliisi20 = LuoPoliisi(Level.Left + 2200, Level.Bottom + 1);
76        PlatformCharacter poliisi21 = LuoPoliisi(Level.Left + 2200, Level.Bottom + 1);
77        PlatformCharacter poliisi22 = LuoPoliisi(Level.Left + 2200, Level.Bottom + 1);
78     
79     
80   
81
82        PhysicsObject alusta = new PhysicsObject(20, 100);
83       
84        Add(alusta);
85        alusta.Color = Color.Green;
86        alusta.X = Level.Left + 700;
87        alusta.Y = Level.Bottom + 300;
88        alusta.IgnoresCollisionResponse = true;
89        AddCollisionHandler(sankari, poliisi, CollisionHandler.DestroyObject);
90
91        Gravity = new Vector (0.0, -800.0);
92        Level.CreateBottomBorder();
93        Level.CreateLeftBorder();
94        maali1();
95
96        Camera.Follow(sankari);
97        AddCollisionHandler(sankari, tormays);
98        AddCollisionHandler(sankari, "poliisi", PelaajatTormaavat);
99        AddCollisionHandler(sankari, "You win!" ,pelaajamaalissa);
100    }
101
102    private PlatformCharacter LuoPoliisi(double x, double y)
103    {
104        PlatformCharacter poliisi = new PlatformCharacter(30, 60);
105        Add(poliisi);
106        poliisi.Color = Color.MediumBlue;
107        poliisi.X = x;
108        poliisi.Y = y;
109        poliisi.Tag = "poliisi";
110        poliisi.Push(new Vector(-300, 0.0));
111        FollowerBrain poliisinaivot = new FollowerBrain(sankari);
112        poliisi.Brain = poliisinaivot;
113        poliisinaivot.Speed = 200;
114        return poliisi;
115    }
116
117    void liikkeet()
118    {
119        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaaja vasemmalle", (-300.0));
120        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaaja oikealle",(300.0));
121        Keyboard.Listen(Key.W, ButtonState.Down, hyppääpelaajalla, "hyppää pelaajalla", (300.0));
122        //Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaaja ylos", new Vector(0, 300));
123        //Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaaja alas", new Vector(0, -300));
124
125        //Keyboard.Listen(Key.A, ButtonState.Released, LiikutaPelaajaa, "pysayta pelaaja", new Vector(-300, 0));
126        //Keyboard.Listen(Key.D, ButtonState.Released, LiikutaPelaajaa, "pysayta pelaaja", new Vector(300, 0));
127        //Keyboard.Listen(Key.W, ButtonState.Released, LiikutaPelaajaa, "pysayta pelaaja", new Vector(0, 300));
128        //Keyboard.Listen(Key.S, ButtonState.Released, LiikutaPelaajaa, "pysayta pelaaja", new Vector(0, -300));
129        Mouse.Listen(MouseButton.Left, ButtonState.Down, ammuaseella, "ammu");
130       
131        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
132
133        Mouse.ListenMovement(0.1, hiirenliike, null);
134    }
135
136    void LiikutaPelaajaa(double nopeus)
137    {
138        sankari.Walk(nopeus);
139       
140    }
141    void hyppääpelaajalla(double nopeus)
142    {
143        sankari.Jump(nopeus);
144       
145
146    }
147
148
149    void ammuaseella()
150    {
151
152
153        PhysicsObject ammus = ase.Shoot();
154        {
155
156            if (ammus != null)
157            {
158                ammus.Size *= 1;
159            }
160        }
161    }
162    void ammusosui(PhysicsObject ammus, PhysicsObject kohde)
163    {
164        ammus.Destroy();
165        Explosion rajahdys = new Explosion(1.0);
166        rajahdys.Position = ammus.Position;
167        Add(rajahdys);
168        if (kohde.Tag == "poliisi")
169        { kohde.Destroy(); }
170    }
171    void HeitaKranaatti(PhysicsObject sankari)
172    {
173        Grenade kranu = new Grenade(4.0);
174        sankari.Throw(kranu, Angle.FromDegrees(30), 10000);
175    }
176    void hiirenliike(AnalogState hiirentila)
177    {
178        Vector v = Mouse.PositionOnWorld - sankari.Position;
179        ase.Angle = v.Angle;
180       
181    }
182    void painettiinvalikonnappia(int valinta)
183    {
184        switch (valinta)
185        {case 0:
186                //Aloitapeli ();
187                break;
188                case 1:
189                //Tasot
190                break;
191            case 2:
192                // parhaatpisteet();
193                break;
194            case 3:
195                Exit();
196                break;
197        }
198
199    }
200    void tormays(PhysicsObject tormaaja, PhysicsObject kohde)
201    {
202        PlatformCharacter sankari = tormaaja as PlatformCharacter;
203       
204
205    }
206
207
208   
209    void PelaajatTormaavat(PhysicsObject tormaaja, PhysicsObject kohde)
210    {
211        MessageDisplay.Add("You died");
212        ClearAll();
213        Begin();
214        pisteLaskuri.Reset();
215    }
216
217
218    void LuoPistelaskuri()
219    {
220        pisteLaskuri = new IntMeter(0);
221
222        Label pisteNaytto = new Label();
223        pisteNaytto.X = Screen.Left + 100;
224        pisteNaytto.Y = Screen.Top - 100;
225        pisteNaytto.TextColor = Color.Black;
226        pisteNaytto.Color = Color.White;
227
228        pisteNaytto.BindTo(pisteLaskuri);
229        Add(pisteNaytto);
230        pisteNaytto.Title = "Score";
231        pisteLaskuri.Value += 10;
232    }
233
234    void maali1 ()
235{
236        PhysicsObject maali = new PhysicsObject (50,50);
237        Add(maali);
238        maali.X = Level.Left + 2700;
239        maali.Tag = "You win!";
240       
241
242}
243
244    void pelaajamaalissa(PhysicsObject tormaaja, PhysicsObject kohde)
245    {
246        tormaaja.Destroy();
247        MessageDisplay.Add("you win!");
248
249        Timer.SingleShot(3.0, Exit);
250    }
251
252} 
Note: See TracBrowser for help on using the repository browser.