source: 2010/30/aneesavi/Cyb0rg-City/Peli.cs @ 1399

Revision 1399, 3.3 KB checked in by aneesavi, 10 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6
7class Tasohyppely : PhysicsGame
8{
9    const double nopeus = 200;
10    const double hyppyVoima = 4000;
11
12    PlatformCharacter pelaaja1;
13    Image seppo = LoadImage("Seppo");
14    PlatformCharacter vihollinen;
15    Image Evil = LoadImage("Evil");
16    const int ruudunLeveys = 50;
17    const int ruudunKorkeus = 50;
18
19
20    protected override void Begin()
21    {
22        Gravity = new Vector(0, -1000);
23
24        luoKentta();
25        lisaaNappaimet();
26
27        Camera.Follow(pelaaja1);
28        Camera.ZoomFactor = 1.0;
29        Camera.StayInLevel = true;
30    }
31
32    void luoKentta()
33    {
34        TileMap ruudut = TileMap.FromFile("kentta.txt");
35        ruudut['='] = LuoPalikka;
36        ruudut['1'] = LuoPelaaja;
37        ruudut['x'] = LuoLaakepaketti;
38        ruudut['2'] = Luovihollinen;
39        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
40    }
41
42    PhysicsObject LuoPalikka()
43    {
44        PhysicsObject palikka = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus);
45        return palikka;
46    }
47
48    PhysicsObject LuoLaakepaketti()
49    {
50        // tämä aliohjelma ei ole vielä valmis...
51        PhysicsObject laakepaketti = new PhysicsObject(50,50);
52        return laakepaketti;
53    }
54
55
56    PhysicsObject LuoPelaaja()
57    {
58        pelaaja1 = new PlatformCharacter(125, 125);
59        pelaaja1.Mass = 4.0;
60        pelaaja1.Image = seppo;
61        pelaaja1.LeftWalkingAnimation = new Animation(Image.Mirror(seppo));
62        pelaaja1.RightWalkingAnimation = new Animation(seppo);
63        return pelaaja1;
64    }
65
66    void lisaaNappaimet()
67    {
68        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
69        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
70
71        Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
72        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
73        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima);
74
75        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
76
77        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
78        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
79        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima);
80    }
81
82    void liikuta(PlatformCharacter hahmo, double nopeus)
83    {
84        hahmo.Walk(nopeus);
85    }
86
87    void hyppaa(PlatformCharacter hahmo, double voima)
88    {
89        hahmo.Jump(voima);
90    }
91
92    PhysicsObject Luovihollinen()
93    {
94        vihollinen = new PlatformCharacter(200, 200);
95        vihollinen.Mass = 2.0;
96        vihollinen.Image = Evil;
97        vihollinen.LeftWalkingAnimation = new Animation(Image.Mirror(Evil));
98        vihollinen.RightWalkingAnimation = new Animation(Evil);
99        Timer ajastin = new Timer();
100        ajastin.Interval = 1.5;
101        ajastin.Trigger += KavelytaVihollista;
102        ajastin.Start();
103
104        return vihollinen;
105    }
106    void KavelytaVihollista(Timer sender)
107    {
108       
109    }
110}
Note: See TracBrowser for help on using the repository browser.