source: 2010/30/roeehakk/Tasohyppely1/Tasohyppely1/Peli.cs @ 1452

Revision 1452, 4.4 KB checked in by roeehakk, 11 years ago (diff)

tein loppuun no ainakin melkein

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    const int ruudunLeveys = 50;
13    const int ruudunKorkeus = 50;
14
15
16    PlatformCharacter pelaaja1;
17
18    IntMeter pisteLaskuri;
19    Image TahdenKuva = LoadImage("tahti");
20    Image PalikkanKuva = LoadImage("Untitled");
21
22
23    protected override void Begin()
24    {
25        Gravity = new Vector(0, -1000);
26
27        luoKentta();
28        LuoLaskuri();
29        lisaaNappaimet();
30
31
32        Camera.ZoomFactor = 0.3;
33    //Camera.StayInLevel = true;
34    }
35
36    void luoKentta()
37    {
38       
39
40    TileMap ruudut = TileMap.FromFile("kentta1.txt");
41
42    ruudut['*'] = LuoPalikka;
43    ruudut['#'] = LuoPalikka2;
44    ruudut['1'] = lisaaPelaajan;
45    ruudut['¤'] = LuoTahti;
46    ruudut['@'] = LuoKuolemanPalikka;
47    ruudut.Insert(ruudunLeveys, ruudunKorkeus);
48    }
49
50    void lisaaTaso(double x, double y)
51    {
52        PhysicsObject taso = PhysicsObject.CreateStaticObject(100, 30);
53        taso.Color = Color.Green;
54        taso.X = x;
55        taso.Y = y;
56        Add(taso);
57    }
58
59    PlatformCharacter lisaaPelaajan()
60    {
61        pelaaja1 = new PlatformCharacter(40, 40);
62        pelaaja1.Mass = 4.0;
63        pelaaja1.Image = LoadImage("norsu");
64        AddCollisionHandler(pelaaja1, KasittelePelaaja1Tormays);
65        pelaaja1.Weapon = new PlasmaCannon(20, 5);
66        return pelaaja1; 
67    }
68
69    void lisaaNappaimet()
70    {
71        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
72        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
73
74        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
75        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
76        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima);
77
78        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
79
80        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
81        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
82        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima);
83
84    }
85
86    void liikuta(PlatformCharacter hahmo, double nopeus)
87    {
88        hahmo.Walk(nopeus);
89    }
90
91    void hyppaa(PlatformCharacter hahmo, double voima)
92    {
93        hahmo.Jump(voima);
94    }
95    PhysicsObject LuoPalikka()
96    {
97        PhysicsObject palikka = PhysicsObject.CreateStaticObject(50.0, 50.0);
98        palikka.Shape = Shapes.Rectangle;
99        palikka.Color = Color.LightPink;
100        return palikka;
101    }
102    PhysicsObject LuoPalikka2()
103    {
104        PhysicsObject palikka2 = PhysicsObject.CreateStaticObject(50.0, 50.0);
105        palikka2.Shape = Shapes.Rectangle;
106        palikka2.Color = Color.Red;
107        return palikka2;
108    }
109    PhysicsObject LuoTahti()
110    {
111        PhysicsObject tahti = PhysicsObject.CreateStaticObject(25.0, 25.0);
112        tahti.Tag = "Tahti";
113        tahti.Image = TahdenKuva;
114        return tahti;
115    }
116    void KasittelePelaaja1Tormays(PhysicsObject Pelaaja1, PhysicsObject kohde)
117    {
118        if (kohde.Tag.ToString() == "Tahti")
119        {
120            kohde.Destroy();
121            pisteLaskuri.Value++;
122        }
123    }
124
125
126    void LuoLaskuri()
127    {
128        pisteLaskuri = new IntMeter(0);
129
130        Label pisteNaytto = new Label();
131        pisteNaytto.X = Screen.Left + 100;
132        pisteNaytto.Y = Screen.Top - 100;
133        pisteNaytto.TextColor = Color.Black;
134
135        pisteNaytto.BindTo(pisteLaskuri);
136        Add(pisteNaytto);
137       
138    }
139    PhysicsObject LuoKuolemanPalikka() 
140    {
141        PhysicsObject KuolemanPalikka = PhysicsObject.CreateStaticObject(50.0, 50.0);
142        KuolemanPalikka.Tag = "KuolemanPalikka";
143        KuolemanPalikka.Image = PalikkanKuva;
144            return KuolemanPalikka;
145    }
146    void KasittelaPelaaja1Tormays(PhysicsObject Pelaaja1, PhysicsObject kohde)
147    {
148        if (kohde.Tag.ToString() == "KuolemanPalikka")
149        {
150            Pelaaja1.Destroy();
151            Pelaaja1.Destroy();
152        }
153    }
154}
Note: See TracBrowser for help on using the repository browser.