source: 2011/23/hejumunt/RunRunRun/RunRunRun/RunRunRun/Peli.cs @ 1757

Revision 1757, 7.3 KB checked in by hejumunt, 9 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    Image hahmonKuva = LoadImage("hahmo");
12    Image talonKuva = LoadImage("talo");
13    Image katon1Kuva = LoadImage("katto1");
14    Image ikkunanKuva = LoadImage("ikkuna");
15    Image katonKuva = LoadImage("katto");
16    Image katon2Kuva = LoadImage("katto2");
17    Image ovenKuva = LoadImage("ovi");
18    Image seinanKuva = LoadImage("seinä");
19    Image tangonKuva = LoadImage("lipputanko");
20    Image nupinKuva = LoadImage("nuppi");
21    Image roskanKuva = LoadImage("roska");
22    Image koydenKuva = LoadImage("köysi");
23    Image parvekkeenKuva = LoadImage("parveke");
24    Image puskanKuva = LoadImage("puska");
25    Image puunKuva = LoadImage("puurunko");
26    Image puun1Kuva = LoadImage("puulehdet");
27    Shape hahmonMuoto;
28
29    PlatformCharacter hahmo;
30
31    DoubleMeter alaspainLaskuri;
32    int elämät = 3;
33
34    public override void Begin()
35    {
36        // TODO: Kirjoita ohjelmakoodisi tähän
37        hahmonMuoto = Shape.FromImage(hahmonKuva);
38
39        LuoKenttä();
40        AloitaPeli();
41        AsetaOhjaimet();
42
43        alaspainLaskuri = new DoubleMeter(2);
44
45        Timer ajastin = new Timer();
46        ajastin.Interval = 0.1;
47        ajastin.Trigger += aikaloppui;
48        ajastin.Start();
49
50        Label aikaNaytto = new Label();
51        aikaNaytto.TextColor = Color.Black;
52        aikaNaytto.BindTo(alaspainLaskuri);
53        Add(aikaNaytto);
54
55   
56    }
57    void aikaloppui(Timer Sender)
58    {
59        alaspainLaskuri.Value -= 0.1;
60
61        if (alaspainLaskuri.Value <= 0)
62        {
63            MessageDisplay.Add("Aika loppui...");
64            Sender.Stop();
65            elämät--;
66            if (elämät > 0) { Uudestaan(); }
67            else
68            {
69                gameover();
70            }
71
72
73        }
74
75    }
76    void gameover()
77    {
78
79    }
80    void Uudestaan()
81    {
82        ClearGameObjects();
83        LuoKenttä();
84        ResetElapsedTime();
85    }
86    void LuoAloitusruutu()
87    {
88    }
89    void LuoKenttä()
90    {
91        TileMap kentta = TileMap.FromFile("kentta.txt");
92        kentta['%'] = lisaaTanko;
93        kentta['#'] = lisaaSeina;
94        kentta['/'] = lisaaTaso;
95        kentta['='] = lisaaTaso;
96        //kentta['+'] = lisaaTaso;
97        kentta['K'] = lisaaKatto;
98        kentta['1'] = lisaaKatto1;
99        kentta['I'] = lisaaIkkuna;
100        kentta['2'] = lisaaKatto2;
101        kentta['O'] = lisaaOvi;
102        kentta['N'] = lisaaNuppi;
103        kentta['&'] = lisaaRoska;
104        kentta['/'] = lisaaKoysi;
105        kentta['?'] = lisaaParveke;
106        kentta['P'] = lisaaPuska;
107        kentta['0'] = lisaaPuu;
108        kentta['9'] = lisaaPuu1;
109        kentta.Insert(40.0, 40.0);
110
111        hahmo = new PlatformCharacter(40, 40, hahmonMuoto);
112        hahmo.Image = hahmonKuva;
113        hahmo.X = -2300.0;
114        hahmo.Y = -225.0;
115        AddCollisionHandler(hahmo, kasittelehahmontormays);
116
117        Add(hahmo);
118
119        //PhysicsObject alaReuna = Level.CreateBottomBorder(1.0, true);
120        Gravity = new Vector(0.0, -800.0);
121        //Level.CreateBorders();
122        Camera.Follow(hahmo);
123        Camera.StayInLevel = true;
124        //Timer ajastin = new Timer();
125        //ajastin.Interval = 0.01;
126        //ajastin.Trigger += liikutaHahmoa;
127        //ajastin.Start();
128    }
129    void kasittelehahmontormays(PhysicsObject hahmo, PhysicsObject kohde)
130    {
131
132    }
133    PhysicsObject lisaaTaso()
134    {
135        PhysicsObject taso = PhysicsObject.CreateStaticObject(40.0, 40.0);
136        taso.Color = Color.Green;
137        return taso;
138    }
139    PhysicsObject lisaaKatto1()
140    {
141        PhysicsObject katto1 = PhysicsObject.CreateStaticObject(40.0, 40.0);
142        katto1.Image = katon1Kuva;
143        return katto1;
144    }
145    PhysicsObject lisaaKatto2()
146    {
147        PhysicsObject katto2 = PhysicsObject.CreateStaticObject(40.0, 40.0);
148        katto2.Image = katon2Kuva;
149        return katto2;
150    }
151    PhysicsObject lisaaIkkuna()
152    {
153        PhysicsObject ikkuna = PhysicsObject.CreateStaticObject(40.0, 40.0);
154        ikkuna.Image = ikkunanKuva;
155        return ikkuna;
156    }
157    PhysicsObject lisaaSeina()
158    {
159        PhysicsObject seina = PhysicsObject.CreateStaticObject(40.0, 40.0);
160        seina.Image = seinanKuva;
161        return seina;
162    }
163    PhysicsObject lisaaTalo()
164    {
165        PhysicsObject talo = PhysicsObject.CreateStaticObject(40.0, 40.0);
166        talo.Image = talonKuva;
167        return talo;
168    }
169    PhysicsObject lisaaTanko()
170    {
171        PhysicsObject tanko = PhysicsObject.CreateStaticObject(20.0, 40.0);
172        tanko.Image = tangonKuva;
173        return tanko;
174    }
175    PhysicsObject lisaaKatto()
176    {
177        PhysicsObject katto = PhysicsObject.CreateStaticObject(40.0, 40.0);
178        katto.Image = katonKuva;
179        return katto;
180    }
181    PhysicsObject lisaaOvi()
182    {
183        PhysicsObject ovi = PhysicsObject.CreateStaticObject(40.0, 40.0);
184        ovi.Image = ovenKuva;
185        return ovi;
186    }
187    PhysicsObject lisaaNuppi()
188    {
189        PhysicsObject nuppi = PhysicsObject.CreateStaticObject(40.0, 40.0);
190        nuppi.Image = nupinKuva;
191        return nuppi;
192    }
193    PhysicsObject lisaaRoska()
194    {
195        PhysicsObject roska = PhysicsObject.CreateStaticObject(40.0, 40.0);
196        roska.Image = roskanKuva;
197        return roska;
198    }
199    PhysicsObject lisaaKoysi()
200    {
201        PhysicsObject koysi = PhysicsObject.CreateStaticObject(10.0, 40.0);
202        koysi.Image = koydenKuva;
203        return koysi;
204    }
205    PhysicsObject lisaaParveke()
206    {
207        PhysicsObject parveke = PhysicsObject.CreateStaticObject(40.0, 40.0);
208        parveke.Image = parvekkeenKuva;
209        return parveke;
210    }
211    void AloitaPeli()
212    {
213        Vector impulssi = new Vector(300.0, 0.0);
214        hahmo.Hit(impulssi);
215    }
216    PhysicsObject lisaaPuska()
217    {
218        PhysicsObject puska = PhysicsObject.CreateStaticObject(40.0, 40.0);
219        puska.Image = puskanKuva;
220        return puska;
221    }
222    PhysicsObject lisaaPuu()
223    {
224        PhysicsObject puu = PhysicsObject.CreateStaticObject(40.0, 40.0);
225        puu.Image = puunKuva;
226        return puu;
227    }
228    PhysicsObject lisaaPuu1()
229    {
230        PhysicsObject puu1 = PhysicsObject.CreateStaticObject(40.0, 40.0);
231        puu1.Image = puun1Kuva;
232        return puu1;
233    }
234    void AsetaOhjaimet()
235    {
236        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Paina oikealle nuolta niin hahmo liikkuu oikealle", new Vector(10000.0, 0.0));
237        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Paina nuolta vasemmalle niin hahmo liikkuu vasemmalle", new Vector(-10000.0, 0.0));
238        Keyboard.Listen(Key.Space, ButtonState.Pressed, LiikutaPelaajaa, "Paina SPACE niin hahmo hyppää");
239        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
240        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
241
242    }
243    void AsetaNopeus(Vector vektori)
244    {
245        hahmo.Push(vektori);
246    }
247
248    void LiikutaPelaajaa()
249    {
250        hahmo.Jump(1000.0);
251    }
252
253
254    //void liikutaHahmoa(Timer Sender)
255    //{
256        //hahmo.Velocity = new Vector(100.0, hahmo.Velocity.Y);
257    //}
258
259}
Note: See TracBrowser for help on using the repository browser.