source: 2010/30/heanjule/Pyromaani/Peli.cs @ 1383

Revision 1383, 3.3 KB checked in by heanjule, 11 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    const int ruudunLeveys = 50;
9    const int ruudunKorkeus = 50;
10
11    const double nopeus = 200;
12    const double hyppyvoima = 6500;
13
14    PlatformCharacter pyro;
15
16
17    protected override void Begin()
18    {
19        LuoKentta();
20        LisaaNappaimet();
21        Camera.Follow(pyro);
22        Camera.ZoomFactor = 2.0;
23        Camera.StayInLevel = true;
24       
25
26        Gravity = new Vector(0, -800);
27    }
28
29    void LuoKentta()
30    {
31        TileMap taustaruudut = TileMap.FromFile("kenttatausta.txt");
32        taustaruudut['='] = LuoKuutio;
33        taustaruudut.Insert(ruudunLeveys, ruudunKorkeus);
34
35        Level.CreateBorders();
36        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
37
38        TileMap ruudut = TileMap.FromFile("kentta.txt");
39        ruudut['='] = LuoPalikka;
40        ruudut['1'] = LuoPyro;
41        ruudut['*'] = LuoAse;
42        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
43       
44
45    }
46
47    PhysicsObject LuoPyro()
48    {
49        pyro = new PlatformCharacter(40.0, 20);
50        pyro.Shape = Shapes.Rectangle;
51        pyro.Color = Color.Black;
52        pyro.Mass = 10.0;       
53        return pyro;
54    }
55
56    GameObject LuoKuutio()
57    {
58        GameObject kuutio = new GameObject(50, 50, Shapes.Rectangle);
59        kuutio.Color = Color.Blue;
60        return kuutio;
61    }
62
63    PhysicsObject LuoPalikka()
64    {
65        PhysicsObject palikka = PhysicsObject.CreateStaticObject(50.0, 50.0);       
66        return palikka;
67    }
68
69    PhysicsObject LuoAse()
70    {
71        PhysicsObject ase = PhysicsObject.CreateStaticObject(20.0, 20.0);
72        return ase;
73    }
74
75    void LisaaTaso(double x, double y)
76    {
77        PhysicsObject taso = PhysicsObject.CreateStaticObject(40, 40);
78        taso.Color = Color.Green;
79        taso.X = x;
80        taso.Y = y;
81        Add(taso);
82    }
83
84    void lisaaPelaajat()
85    {
86        pyro = new PlatformCharacter(40, 40);
87        pyro.Mass = 4.0;
88        pyro.X = 0;
89        pyro.Y = Level.Bottom + 120;
90
91        Add(pyro, 1);
92
93    }
94    void LisaaNappaimet()
95    {
96        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
97        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
98
99        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "liikkuu vasemmalle", pyro, -nopeus );
100        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "liikkuu oikealle", pyro, nopeus );
101        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pyro, hyppyvoima );
102
103        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä" );
104
105        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pyro, -nopeus);
106        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pyro, nopeus);
107        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pyro, hyppyvoima);
108       
109    }
110
111    void liikuta( PlatformCharacter hahmo, double nopeus)
112    {
113        hahmo.Walk( nopeus );
114    }
115
116    void hyppaa( PlatformCharacter hahmo, double voima )
117    {
118        hahmo.Jump(voima);
119    }
120
121       
122   
123   
124
125
126
127}
Note: See TracBrowser for help on using the repository browser.