source: 2011/31/DanH/Dragonfighter/Dragonfighter/Dragonfighter/Peli.cs @ 2535

Revision 2535, 6.1 KB checked in by daalhaat, 8 years ago (diff)

Talletus.

Line 
1using System;
2
3using System.Collections.Generic;
4using Jypeli;
5using Jypeli.Assets;
6using Jypeli.Controls;
7using Jypeli.Effects;
8using Jypeli.Widgets;
9
10
11   public class Peli : PhysicsGame
12{
13
14       
15
16
17
18
19    const double nopeus = 200;
20    const double hyppyNopeus = 1000;
21    const int RUUDUN_KOKO = 40;
22
23    PlatformCharacter pelaaja1;
24    PlatformCharacter pelaaja2;
25   
26       Image Dragon = LoadImage("StanceGood");
27       Image Hunter = LoadImage("Hunter");
28
29    Image paikallaanVasemmalle = LoadImage("StanceGood");
30    Image paikallaanOikealle;
31
32       
33      Image[] kavelyVasemmalle = LoadImages("JuoksuOikein");
34   
35      Image[] kavelyOikealle;
36
37      Image paikallaanVasemmalle2 = LoadImage("Hunter");
38      Image paikallaanOikealle2;
39
40
41      Image[] kavelyVasemmalle2 = LoadImages("HunterJuoksu");
42
43      Image[] kavelyOikealle2;
44
45
46      DoubleMeter pelaaja1Elama;
47      DoubleMeter pelaaja2Elama;
48
49
50
51      List<Label> valikonKohdat;
52
53       
54       
55       
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70      public override void Begin()
71    {
72
73
74         
75
76         
77          pelaaja1Elama = new DoubleMeter( 100 );
78        pelaaja1Elama.MaxValue = 100;
79
80        pelaaja2Elama = new DoubleMeter(100);
81        pelaaja2Elama.MaxValue = 100;
82
83
84        paikallaanOikealle = Image.Mirror(paikallaanVasemmalle);
85        kavelyOikealle = Image.Mirror(kavelyVasemmalle);
86
87        paikallaanOikealle2 = Image.Mirror(paikallaanVasemmalle2);
88        kavelyOikealle2 = Image.Mirror(kavelyVasemmalle2);
89       
90
91        Gravity = new Vector(0, -1000);
92
93        luoKentta();
94        lisaaNappaimet();
95
96        IsFullScreen = true;
97
98        Camera.ZoomFactor = 1.2;
99        Camera.ZoomToLevel();
100
101   
102      }
103
104
105
106     
107       
108
109
110
111    void luoKentta()
112    {
113
114       
115 
116       
117        TileMap kentta = TileMap.FromFile("kentta1.txt");
118        kentta.SetTileMethod('#', lisaaTaso);
119       ;
120        kentta.SetTileMethod('N', lisaaPelaaja);
121        kentta.SetTileMethod('X', lisaaPelaaja2);
122       
123        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
124        Level.CreateBorders();
125        Level.Background.CreateGradient(Color.White, Color.Blue);
126
127
128    }
129
130    void lisaaTaso(Vector paikka, double leveys, double korkeus)
131    {
132        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
133        taso.Position = paikka;
134        taso.Color = Color.Green;
135        Add(taso);
136    }
137
138   
139   
140
141    void lisaaPelaaja(Vector paikka, double leveys, double korkeus)
142    {
143        pelaaja1 = new PlatformCharacter (leveys, korkeus);
144        pelaaja1.Position = paikka;
145        pelaaja1.Mass = 4.0;
146        pelaaja1.Image = Dragon;
147
148        pelaaja1.LeftIdleAnimation = new Animation(paikallaanVasemmalle);
149        pelaaja1.RightIdleAnimation = new Animation(paikallaanOikealle);
150
151        pelaaja1.CollisionIgnoreGroup = 1;
152
153
154        pelaaja1.LeftWalkingAnimation = new Animation(kavelyVasemmalle);
155        pelaaja1.RightWalkingAnimation = new Animation(kavelyOikealle);
156
157        BarGauge pelaaja1ElamaPalkki = new BarGauge(20, Screen.Width / 3);
158        pelaaja1ElamaPalkki.X = Screen.Left + Screen.Width / 5;
159        pelaaja1ElamaPalkki.Y = Screen.Top - 40;
160        pelaaja1ElamaPalkki.Angle = Angle.FromDegrees(90);
161        pelaaja1ElamaPalkki.BindTo(pelaaja1Elama);
162        pelaaja1ElamaPalkki.Color = Color.Black;
163        pelaaja1ElamaPalkki.BarColor = Color.Red;
164        Add(pelaaja1ElamaPalkki);
165
166 
167                   
168        Add(pelaaja1);
169    }
170
171
172
173    void lisaaPelaaja2(Vector paikka, double leveys, double korkeus)
174    {
175
176        pelaaja2 = new PlatformCharacter(leveys, korkeus);
177        pelaaja2.Position = paikka;
178        pelaaja2.Mass = 4.0;
179        pelaaja2.Image = Hunter;
180
181        pelaaja2.CollisionIgnoreGroup = 1;
182
183
184        pelaaja2.LeftIdleAnimation = new Animation(paikallaanVasemmalle2);
185        pelaaja2.RightIdleAnimation = new Animation(paikallaanOikealle2);
186
187
188        pelaaja2.LeftWalkingAnimation = new Animation(kavelyVasemmalle2);
189        pelaaja2.RightWalkingAnimation = new Animation(kavelyOikealle2);
190
191
192       
193       
194       
195       
196        BarGauge pelaaja2ElamaPalkki = new BarGauge(20, Screen.Width / 3);
197        pelaaja2ElamaPalkki.X = Screen.Right - Screen.Width / 4;
198        pelaaja2ElamaPalkki.Y = Screen.Top - 40;
199        pelaaja2ElamaPalkki.Angle = Angle.FromDegrees(-90);
200        pelaaja2ElamaPalkki.BindTo(pelaaja2Elama);
201        pelaaja2ElamaPalkki.Color = Color.Black;
202        pelaaja2ElamaPalkki.BarColor = Color.Red;
203        Add(pelaaja2ElamaPalkki);
204
205
206
207        Add(pelaaja2);
208
209    }
210
211       
212
213    void lisaaNappaimet()
214    {
215        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
216        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
217
218        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
219        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
220        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
221
222        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
223
224        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
225        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
226        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
227
228
229        Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus);
230        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus);
231        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus);
232
233   
234   
235   
236   
237   
238    }
239
240    void liikuta(PlatformCharacter hahmo, double nopeus)
241    {
242        hahmo.Walk(nopeus);
243    }
244
245    void hyppaa(PlatformCharacter hahmo, double nopeus)
246    {
247        hahmo.Jump(nopeus);
248    }
249
250
251
252
253 
254
255   
256}
Note: See TracBrowser for help on using the repository browser.