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

Revision 1744, 2.9 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    Shape hahmonMuoto;
14
15    PlatformCharacter hahmo;
16   
17    public override void Begin()
18    {
19        // TODO: Kirjoita ohjelmakoodisi tähän
20        hahmonMuoto = Shape.FromImage(hahmonKuva);
21        LuoKenttä();
22        AloitaPeli();
23        AsetaOhjaimet();
24
25       
26    }
27    void LuoAloitusruutu()
28    {
29    }
30    void LuoKenttä()
31    {
32        TileMap kentta = TileMap.FromFile("kentta.txt");
33        kentta['%'] = lisaaTaso;
34        kentta['#'] = lisaaTalo;
35        kentta['/'] = lisaaTaso;
36        kentta['='] = lisaaTaso;
37        kentta['+'] = lisaaTaso;
38        kentta['K'] = lisaaKatto;
39        kentta.Insert(40.0, 40.0);
40
41        hahmo = new PlatformCharacter(50, 50, hahmonMuoto);
42        hahmo.Image = hahmonKuva;
43        hahmo.X = -2300.0;
44        hahmo.Y = -225.0;
45
46        Add(hahmo);
47
48        //PhysicsObject alaReuna = Level.CreateBottomBorder(1.0, true);
49        Gravity = new Vector(0.0, -800.0);
50        //Level.CreateBorders();
51        Camera.Follow(hahmo);
52        Camera.StayInLevel = true;
53        //Timer ajastin = new Timer();
54        //ajastin.Interval = 0.01;
55        //ajastin.Trigger += liikutaHahmoa;
56        //ajastin.Start();
57    }
58    PhysicsObject lisaaTaso()
59    {
60        PhysicsObject taso = PhysicsObject.CreateStaticObject(40.0, 40.0);
61        taso.Color = Color.Green;
62        return taso;
63    }
64    PhysicsObject lisaaTalo()
65    {
66        PhysicsObject talo = PhysicsObject.CreateStaticObject(40.0, 40.0);
67        talo.Image = talonKuva;
68        return talo;
69    }
70    PhysicsObject lisaaKatto()
71    {
72        PhysicsObject katto = PhysicsObject.CreateStaticObject(40.0, 40.0);
73        return katto;
74    }
75    void AloitaPeli()
76    {
77        Vector impulssi = new Vector(300.0, 0.0);
78        hahmo.Hit(impulssi);
79    }
80    void AsetaOhjaimet()
81    {
82        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Paina oikealle nuolta niin hahmo liikkuu oikealle", new Vector(10000.0, 0.0));
83        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Paina nuolta oikealle niin hahmo liikkuu oikealle", new Vector(-10000.0, 0.0));
84        Keyboard.Listen(Key.Space, ButtonState.Pressed, LiikutaPelaajaa, "Paina SPACE niin hahmo hyppää");
85        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
86        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
87
88    }
89    void AsetaNopeus(Vector vektori)
90    {
91        hahmo.Push(vektori);
92    }
93
94    void LiikutaPelaajaa()
95    {
96        hahmo.Jump(1000.0);
97    }
98    //void liikutaHahmoa(Timer Sender)
99    //{
100        //hahmo.Velocity = new Vector(100.0, hahmo.Velocity.Y);
101    //}
102
103}
Note: See TracBrowser for help on using the repository browser.