source: 2011/26/JimiL/Pelit/pelit22/world of Chuckland fix fix/world of Chuckland fix fix/Peli.cs @ 2365

Revision 2365, 7.8 KB checked in by saselamp, 12 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9
10
11
12
13public class Peli : PhysicsGame
14   
15{
16    const double nopeus = 500;
17    const double hyppyNopeus = 1000;
18    const int RUUDUN_KOKO = 40;
19
20     PlatformCharacter pelaaja1;
21   
22
23    GameObject heppu;
24    Image paikallaanvasemmalle1 = LoadImage("heppuleft1");
25    Image paikallaanoikelle1 = LoadImage("heppu");
26
27    Image[] kavelyvasemmalle1 = LoadImages("heppuleft1", "heppuleft2", "heppuleft3");
28    Image[] kavelyoikelle1;
29
30    Image paikallaanvasemmalle = LoadImage("hahmo");
31    Image paikallaanoikelle = LoadImage("hahmo");
32   
33    Image[] kavelyoikelle = LoadImages("hahmoright1","hahmoright2");
34    Image[] kavelyvasemmalle;
35    Image pelaajanKuva = LoadImage("hahmo");
36
37
38    Image kultaKuva = LoadImage("kulta");
39    Image kiviKuva = LoadImage("kivi");
40    Image puuKuva = LoadImage("puu");
41    Image maaKuva = LoadImage("maa");
42    Image metalliKuva = LoadImage("metalli");
43    Image lehtiKuva = LoadImage("lehti");
44    Image vesiKuva = LoadImage("vesi");
45    Image pilvikuva = LoadImage("pilvi");
46    Image heppukuva = LoadImage("heppu");
47    Image ruohokuva = LoadImage("ruoho");
48    Image koivukuva = LoadImage("koivu");
49
50
51
52    SoundEffect maaliAani = LoadSoundEffect("maali");
53
54    public override void Begin()
55    {
56        paikallaanoikelle = Image.Mirror(paikallaanvasemmalle);
57        kavelyvasemmalle = Image.Mirror(kavelyoikelle);
58
59        paikallaanoikelle1 = Image.Mirror(paikallaanvasemmalle1);
60        kavelyoikelle1 = Image.Mirror(kavelyvasemmalle1);
61
62       
63       
64
65
66
67        Gravity = new Vector(0, -1000);
68       
69
70
71
72        luoKentta();
73        lisaaNappaimet();
74
75        Camera.Follow(pelaaja1);
76        Camera.ZoomFactor = 1.2;
77        Camera.StayInLevel = true;
78    }
79
80    void luoKentta()
81    {
82        TileMap kentta = TileMap.FromFile("kentta1.txt");
83        kentta['#'] = lisaamaa;
84        kentta['*'] = lisaakulta;
85        kentta['N'] = lisaaPelaaja;
86        kentta['%'] = lisaakivi;
87        kentta['('] = lisaapuu;
88        kentta['/'] = lisaalehti;
89        kentta['^'] = lisaametalli;
90        kentta[';'] = lisaavesi;
91        kentta['B'] = lisaapilvi;
92        kentta['H'] = lisaaheppu;
93        kentta['='] = lisaaruoho;
94        kentta[')'] = lisaakoivu;
95       
96
97
98
99
100        kentta.Insert(50, 50);
101        Level.CreateBorders();
102        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
103    }
104    RandomMoverBrain Satunnaisaivot = new RandomMoverBrain(10000);
105
106   
107   
108
109    PhysicsObject lisaakoivu()
110    {
111        PhysicsObject koivu = PhysicsObject.CreateStaticObject(50, 50);
112        koivu.Image = koivukuva;
113        koivu.Tag = "koivu";
114
115        Add(koivu);
116        return koivu;
117    }
118    PhysicsObject lisaaruoho()
119    {
120        PhysicsObject ruoho = PhysicsObject.CreateStaticObject(50, 50);
121        ruoho.Image = ruohokuva;
122        ruoho.Tag = "ruoho";
123
124        Add(ruoho);
125        return ruoho;
126    }
127    PhysicsObject lisaapilvi()
128    {
129        PhysicsObject pilvi = PhysicsObject.CreateStaticObject(50, 50);
130        pilvi.Image = pilvikuva;
131        pilvi.Tag = "pilvi";
132
133        Add(pilvi);
134        return pilvi;
135    }
136    PhysicsObject lisaametalli()
137    {
138        PhysicsObject metalli = PhysicsObject.CreateStaticObject(50, 50);
139        metalli.Image = metalliKuva;
140        metalli.Tag = "metalli";
141
142        Add(metalli);
143        return metalli;
144    }
145
146    PhysicsObject lisaavesi()
147    {
148        PhysicsObject vesi = PhysicsObject.CreateStaticObject(50, 50);
149        vesi.Image = vesiKuva;
150        vesi.Tag = "vesi";
151
152
153        Add(vesi);
154        return vesi;
155    }
156
157    PhysicsObject lisaalehti()
158    {
159        PhysicsObject lehti = PhysicsObject.CreateStaticObject(50, 50);
160        lehti.Image = lehtiKuva;
161        lehti.Tag = "lehti";
162
163        Add(lehti);
164        return lehti;
165    }
166    PhysicsObject lisaapuu()
167    {
168        PhysicsObject puu = PhysicsObject.CreateStaticObject(50, 50);
169        puu.Image = puuKuva;
170        puu.Tag = "puu";
171
172        Add(puu);
173        return puu;
174    }
175    PhysicsObject lisaakivi()
176    {
177        PhysicsObject kivi = PhysicsObject.CreateStaticObject(50, 50);
178        kivi.Image = kiviKuva;
179        kivi.Tag = "kivi";
180        Add(kivi);
181        return kivi;
182    }
183    PhysicsObject lisaamaa()
184    {
185        PhysicsObject maa = PhysicsObject.CreateStaticObject(50, 50);
186        maa.Image = maaKuva;
187        maa.Tag = "maa";
188        Add(maa);
189
190        return maa;
191    }
192
193    PhysicsObject lisaakulta()
194    {
195        PhysicsObject kulta = PhysicsObject.CreateStaticObject(50, 50);
196        kulta.Image = kultaKuva;
197        kulta.Tag = "kulta";
198        Add(kulta);
199
200        return kulta;
201    }
202    PhysicsObject lisaaheppu()
203    {
204        PlatformCharacter heppu = new PlatformCharacter(50, 50);
205
206        heppu.Brain = Satunnaisaivot;
207        Satunnaisaivot.ChangeMovementSeconds = 5;
208        heppu.Tag = "heppu";
209        heppu.Image = heppukuva;
210        heppu.LeftIdleAnimation = new Animation(paikallaanvasemmalle1);
211        heppu.RightIdleAnimation = new Animation(paikallaanoikelle1);
212
213        heppu.LeftWalkingAnimation = new Animation(kavelyvasemmalle1);
214        heppu.RightWalkingAnimation = new Animation(kavelyoikelle1);
215        Add(heppu);
216        return heppu;
217    }
218    PlatformCharacter lisaaPelaaja()
219    {
220        pelaaja1 = new PlatformCharacter(50, 100);
221        pelaaja1.Mass = 4.0;
222        pelaaja1.Image = pelaajanKuva;
223        pelaaja1.Tag = "pelaaja1";
224       
225       
226       
227        pelaaja1.LeftIdleAnimation = new Animation(paikallaanvasemmalle);
228        pelaaja1.RightIdleAnimation = new Animation(paikallaanoikelle);
229
230        pelaaja1.LeftWalkingAnimation = new Animation(kavelyvasemmalle);
231        pelaaja1.RightWalkingAnimation = new Animation(kavelyoikelle);
232        AddCollisionHandler(pelaaja1, osupelaajaan);
233
234        return pelaaja1;
235
236       
237       
238
239    }
240
241     
242   
243
244    void lisaaNappaimet()
245    {
246        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
247        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
248       
249
250        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
251        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
252        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
253
254        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
255
256        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
257        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
258        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
259    }
260
261    void liikuta(PlatformCharacter hahmo, double nopeus)
262    {
263        hahmo.Walk(nopeus);
264    }
265
266    void hyppaa(PlatformCharacter hahmo, double nopeus)
267    {
268        hahmo.Jump(nopeus);
269    }
270    void osupelaajaan(PhysicsObject pelaaja, PhysicsObject heppu)
271    {
272        if (pelaaja.Tag.ToString() == "pelaaja1")
273
274        {
275            if (heppu.Tag.ToString() == "heppu")
276            {
277               
278                maaliAani.Play();
279                MessageDisplay.Add("Die");
280                pelaaja.Destroy();
281
282               
283
284
285               
286            }
287        }
288    }
289    void OsuEsineeseen(PlatformCharacter pelaaja1, PhysicsObject kohde)
290    {
291       
292
293
294    }
295
296
297   
298    }
299
Note: See TracBrowser for help on using the repository browser.