source: 2012/30/JereK/FysiikkaPeli4/FysiikkaPeli4/FysiikkaPeli4/FysiikkaPeli4.cs @ 3717

Revision 3717, 6.7 KB checked in by juiitamm, 9 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 FysiikkaPeli4 : PhysicsGame
10{
11    PhysicsObject pelaaja;
12    Vector pelaajanAlkupaikka = new Vector(-200.0, 0.0);
13    PhysicsObject pelaaja2;
14    Vector pelaajan2Alkupaikka = new Vector(200, 0);
15    Image ukeli1 = LoadImage("pelaanum1");
16    Image taustakuva = LoadImage("settia");
17    Image ukeli2 = LoadImage("punainen1");
18    Image pallonkuva = LoadImage("pallo");
19    Image punpu = LoadImage("punainen2");
20    Image sinpu = LoadImage("pelaajanum2");
21    IntMeter pisteLaskuri;
22    IntMeter pisteLaskuri2;
23    PhysicsObject pallo;
24    PhysicsObject puolustaja;
25    PhysicsObject puolustaja2;
26
27    public override void Begin()
28    {
29        pallo = new PhysicsObject(40, 40);
30        Add(pallo);
31        pallo.Shape = Shape.Circle;
32        pallo.Image = pallonkuva;
33
34        MultiSelectWindow alkuValikko = new MultiSelectWindow("EFT Street 2012",
35"Aloita peli", "Tekijät", "Lopeta");
36        Add(alkuValikko);
37        alkuValikko.Color = Color.White;
38        alkuValikko.SelectionColor = Color.Gold;
39        alkuValikko.BorderColor = Color.Gold;
40   
41        alkuValikko.ItemSelected += PainettiinValikonNappia;
42
43
44        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");
45
46        pelaaja = new PhysicsObject(50, 50);
47        pelaaja.Position = pelaajanAlkupaikka;
48        Add(pelaaja);
49        pelaaja.Image = ukeli1;
50        pelaaja2 = new PhysicsObject(50, 50);
51        pelaaja2.Position = pelaajan2Alkupaikka;
52        Add(pelaaja2);
53        pelaaja2.Image = ukeli2;
54        pelaaja.Mass = 6;
55        pelaaja2.Mass = 6;
56
57        PhysicsObject mali = PhysicsObject.CreateStaticObject(15.0, 200.0);
58        mali.Shape = Shape.Rectangle;
59        mali.X = Level.Left + 20.0;
60        mali.Y = 0.0;
61        mali.Restitution = 2.0;
62        mali.Tag = "mali";
63        Add(mali);
64        mali.Color = Color.Black;
65
66        PhysicsObject maali = PhysicsObject.CreateStaticObject(20.0, 180.0);
67        maali.Shape = Shape.Rectangle;
68        maali.X = Level.Left + 20.0;
69        maali.Y = 0.0;
70        maali.Restitution = 2.0;
71        maali.Tag = "maali";
72        Add(maali);
73        maali.Color = Color.Blue;
74
75
76
77        PhysicsObject mali2 = PhysicsObject.CreateStaticObject(15.0, 200.0);
78        mali2.Shape = Shape.Rectangle;
79        mali2.X = Level.Right - 20.0;
80        mali2.Y = 0.0;
81        mali2.Restitution = 2.0;
82        mali2.Tag = "mali";
83        Add(mali2);
84        mali2.Color = Color.Black;
85
86        puolustaja = new PhysicsObject(50, 50);
87        puolustaja.Image = sinpu;
88        Add(puolustaja);
89        puolustaja.CanRotate = false;
90        puolustaja.X = -300;
91        puolustaja.Y = 50;
92        puolustaja.Mass = 0.2;
93
94
95        puolustaja2 = new PhysicsObject(50, 50);
96        puolustaja2.Image = punpu;
97        Add(puolustaja2);
98        puolustaja2.CanRotate = false;
99        puolustaja2.X = 300;
100        puolustaja2.Y = 50;
101        puolustaja2.Mass = 0.2;
102
103
104        LuoPisteLaskuri();
105
106
107        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja2);
108        FollowerBrain seuraajanAivot2 = new FollowerBrain(pelaaja);
109
110        puolustaja.Brain = seuraajanAivot;
111        puolustaja2.Brain = seuraajanAivot2;
112        seuraajanAivot2.Speed = 20;
113        seuraajanAivot.Speed = 20;
114
115
116
117        PhysicsObject maali2 = PhysicsObject.CreateStaticObject(20.0, 180.0);
118        maali2.Shape = Shape.Rectangle;
119        maali2.X = Level.Right - 20.0;
120        maali2.Y = 0.0;
121        maali2.Restitution = 2.0;
122        maali2.Tag = "maali";
123        Add(maali2);
124        maali2.Color = Color.Red;
125
126        AddCollisionHandler(pallo, maali, CollisionHandler.AddMeterValue(pisteLaskuri2, 1));
127        AddCollisionHandler(pallo, maali2, CollisionHandler.AddMeterValue(pisteLaskuri, 1));
128        AddCollisionHandler(pallo, "maali", PalloKeskelle);
129
130        Keyboard.Listen(Key.Left, ButtonState.Down,
131          LiikutaPelaajaa, null, new Vector(-1000, 0));
132        Keyboard.Listen(Key.Right, ButtonState.Down,
133          LiikutaPelaajaa, null, new Vector(1000, 0));
134        Keyboard.Listen(Key.Up, ButtonState.Down,
135          LiikutaPelaajaa, null, new Vector(0, 1000));
136        Keyboard.Listen(Key.Down, ButtonState.Down,
137          LiikutaPelaajaa, null, new Vector(0, -1000));
138
139        Keyboard.Listen(Key.A, ButtonState.Down,
140          LiikutaPelaaja2, null, new Vector(-1000, 0));
141        Keyboard.Listen(Key.D, ButtonState.Down,
142          LiikutaPelaaja2, null, new Vector(1000, 0));
143        Keyboard.Listen(Key.W, ButtonState.Down,
144          LiikutaPelaaja2, null, new Vector(0, 1000));
145        Keyboard.Listen(Key.S, ButtonState.Down,
146          LiikutaPelaaja2, null, new Vector(0, -1000));
147
148
149
150        Level.CreateBorders(false);
151        Level.Background.Image = taustakuva;
152        Camera.ZoomToLevel();
153
154        pelaaja.CanRotate = false;
155        pelaaja2.CanRotate = false;
156
157    }
158
159    void PalloKeskelle(PhysicsObject pallo, PhysicsObject kohde)
160    {
161        pallo.Velocity = Vector.Zero;
162        pallo.Position = Vector.Zero;
163        pelaaja.Position = pelaajanAlkupaikka;
164        pelaaja2.Position = pelaajan2Alkupaikka;
165    }
166
167    void LiikutaPelaajaa(Vector vektori)
168    {
169        pelaaja.Push(vektori);
170    }
171
172    void LiikutaPelaaja2(Vector vektori)
173    {
174        pelaaja2.Push(vektori);
175    }
176
177    void LuoPisteLaskuri()
178    {
179        pisteLaskuri = new IntMeter(0);
180
181        Label pisteNaytto = new Label();
182        pisteNaytto.X = Screen.Left + 100;
183        pisteNaytto.Y = Screen.Top - 30;
184        pisteNaytto.TextColor = Color.Aqua;
185        pisteNaytto.Color = Color.Green;
186        pisteNaytto.BindTo(pisteLaskuri);
187        pisteNaytto.Title = "Blue";
188        Add(pisteNaytto);
189
190        pisteLaskuri2 = new IntMeter(0);
191
192        Label pisteNaytto2 = new Label();
193        pisteNaytto2.X = Screen.Right - 100;
194        pisteNaytto2.Y = Screen.Top - 30;
195        pisteNaytto2.TextColor = Color.Red;
196        pisteNaytto2.Color = Color.Green;
197        pisteNaytto2.BindTo(pisteLaskuri2);
198        pisteNaytto2.Title = "Red";
199        Add(pisteNaytto2);
200
201    }
202
203    void PainettiinValikonNappia(int valinta)
204{
205  switch (valinta)
206  {
207    case 0:
208       
209        break;
210    case 1:
211        MultiSelectWindow valikko = new MultiSelectWindow("Tekijät",
212"Jere K", "Jesse P", "Lopeta peli");
213valikko.ItemSelected += PainettiinValikonNappia;
214Add(valikko);
215valikko.Color = Color.White;
216valikko.SelectionColor = Color.Rose;
217valikko.BorderColor = Color.Rose;
218        break;
219    case 2:
220        ConfirmExit();
221        break;
222  } 
223
224}
225}
226
227
228
Note: See TracBrowser for help on using the repository browser.