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

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