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

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