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

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