source: 2010/27/heikriin/CrabsAndShrimps/Peli.cs @ 1203

Revision 1203, 4.1 KB checked in by paaaanro, 9 years ago (diff)

tausta, iskut

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    const double nopeus = 200;
9    const double hyppyVoima = 4000;
10    PlatformCharacter katkis;
11    PlatformCharacter rapu;
12    GameObject pannu;
13    GameObject kukka;
14
15    IntMeter pisteLaskuri;
16    IntMeter katkisElamat, rapuElamat;
17
18 
19
20    protected override void Begin()
21    {
22        AloitaPeli();
23        luoKentta();
24       
25        katkis = new PlatformCharacter(220.0, 220.0);
26        Add(katkis);
27        katkis.Mass = 3.0;
28        katkis.X = 380.0;
29        katkis.Y = -250.0;
30
31        //pannu = new GameObject(500, 500);
32        //pannu.Color = Color.Red;
33        //pannu.Tag = "pannu";
34        //Add(pannu);
35        //katkis.Add(pannu);
36
37        rapu = new PlatformCharacter(300.0, 300.0);
38        Add(rapu);
39        rapu.Mass = 4.0;
40        rapu.X = -380.0;
41        rapu.Y = -200.0;
42
43        //kukka = new GameObject(500, 500);
44        //kukka.Color = Color.Red;
45        //rapu.Add(kukka);
46       
47        AddCollisionHandler(katkis, katkisTormaa);
48        AddCollisionHandler(rapu, rapuTormaa);
49
50        Level.CreateBorders(false);
51        Level.BackgroundColor = Color.Black;
52
53        Camera.ZoomToLevel();
54       
55        Gravity = new Vector(0.0, -800.0);
56        lisaaNappaimet();
57        LuoLaskuri();
58    }
59
60    void lisaaNappaimet()
61    {
62        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
63        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
64
65        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", katkis, -100.0);
66        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", katkis, 100.0);
67        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", katkis, hyppyVoima);
68        Keyboard.Listen(Key.M, ButtonState.Pressed, katkisiskee, "Paistinpannu");
69
70        Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", rapu, -100.0);
71        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", rapu, 100.0);
72        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", rapu, hyppyVoima);
73        Keyboard.Listen(Key.Q, ButtonState.Pressed, rapuiskee, "Kukka");
74    }
75
76    void katkisiskee()
77    {
78        if(katkis.X - rapu.X < 300)
79        {
80            rapuElamat.Value -=3;
81        }
82    }
83
84    void rapuiskee()
85    {
86        if(rapu.X - katkis.X < 300)
87        {
88            katkisElamat.Value -=3;
89        }
90
91        if (katkisElamat.Value <= 0)
92        {
93            MessageDisplay.Add("RAPU VOITTI.");
94        }
95       
96    }
97
98    void liikuta(PlatformCharacter hahmo, double nopeus)
99    {
100        hahmo.Walk(nopeus);
101    }
102
103    void hyppaa(PlatformCharacter hahmo, double voima)
104    {
105        hahmo.Jump(voima);
106    }
107
108    void luoKentta()
109    {
110        Level.CreateBorders();
111        Level.Background.Image = LoadImage("paistinpannukuumana2");
112    }
113
114    void katkisTormaa(PhysicsObject katkis, PhysicsObject kohde)
115    {
116        //if (kohde.Tag.ToString() == "pannu")
117        //{
118        //    MessageDisplay.Add("katkikseen osui");
119        //}
120    }
121
122    void rapuTormaa(PhysicsObject rapu, PhysicsObject kohde)
123    {
124
125    }
126    void LuoLaskuri()
127    {
128        pisteLaskuri = new IntMeter(100);
129
130        katkisElamat = new IntMeter(100);
131        rapuElamat = new IntMeter(100);
132
133        Label katkisNaytto = new Label(100.0, 60.0);
134        katkisNaytto.X = Screen.Right - 100;
135        katkisNaytto.Y = Screen.Top - 50;
136        katkisNaytto.TextColor = Color.White;
137        katkisNaytto.Color = Color.Black;
138
139        katkisNaytto.BindTo(katkisElamat);
140        Add(katkisNaytto);
141
142        Label rapuNaytto = new Label(100.0, 60.0);
143        rapuNaytto.X = Screen.Left + 100;
144        rapuNaytto.Y = Screen.Top - 50;
145        rapuNaytto.TextColor = Color.White;
146        rapuNaytto.Color = Color.Black;
147
148        rapuNaytto.BindTo(rapuElamat);
149        Add(rapuNaytto);
150
151    }
152
153   
154
155    void AloitaPeli()
156    { }
157
158   
159
160
161
162
163
164}
Note: See TracBrowser for help on using the repository browser.