source: 2017/24/EljaL/TheMetsäsurvivor/TheMetsäsurvivor/TheMetsäsurvivor/TheMetsäsurvivor.cs @ 8657

Revision 8657, 5.8 KB checked in by npo17_22, 2 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 TheMetsäsurvivor : PhysicsGame
10{ PhysicsObject ihminen;
11    PhysicsObject karhu;
12    public override void Begin()
13    {
14        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
15
16
17        Mouse.IsCursorVisible = true;
18
19
20        Camera.Zoom(1.0);
21
22
23        karhu = new PhysicsObject(40.0, 40.0);
24        karhu.Color = Color.Brown;
25        karhu.X = 100;
26        karhu.Tag = "karhu";
27        Add(karhu);
28
29   
30
31            ihminen = new PhysicsObject(40, 40);
32        ihminen.CanRotate = true;
33        ihminen.Restitution = 0.0;
34        ihminen.Shape = Shape.Pentagon;
35            Add(ihminen);
36
37        AddCollisionHandler(ihminen, karhu, karhutormays);
38
39        teekivi();
40        teekivi();
41        teepuu();
42        teepuu();
43        teepuu();
44        teepuu();
45        teekivi();
46        teepuu();
47        teepuu();
48        teepuu();
49        teepuu();
50        teepuu();
51        teepuu();
52        teepuu();
53        teepuu();
54        teekivi();
55        teepuu();
56        teepuu();
57        teepuu();
58        teepuu();
59
60        LuoPuulaskuri();
61        LuoKivilaskuri();
62        luopojolaskuri();
63        luohplaskuri();
64
65        luokentta();
66
67        Keyboard.Listen(Key.Left, ButtonState.Down, käännäpelaajaav, null);
68        Keyboard.Listen(Key.Right, ButtonState.Down, käännäpelaajaao, null);
69        Keyboard.Listen(Key.Up, ButtonState.Down, käännäpelaajaay, null);
70        Keyboard.Listen(Key.Down, ButtonState.Down, käännäpelaajaaa, null);
71
72            Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-50, 0));
73            Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(50, 0));
74            Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 50));
75            Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -50));
76
77        Camera.Follow(ihminen);
78    }
79
80        void LiikutaPelaajaa(Vector vektori)
81{
82            ihminen.Push(vektori);
83        }
84    void luokentta()
85    {
86       
87
88        Level.Background.Color = Color.Wheat;
89
90        AddCollisionHandler(ihminen, "puu", puutormays);
91    }
92    void käännäpelaajaav()
93    {
94        ihminen.Angle = Angle.FromDegrees(-90);
95    }
96void käännäpelaajaao()
97    {
98        ihminen.Angle = Angle.FromDegrees(90);
99    }
100    void käännäpelaajaay()
101    {
102        ihminen.Angle = Angle.FromDegrees(180);
103    }
104    void käännäpelaajaaa()
105    {
106        ihminen.Angle = Angle.FromDegrees(0);
107    }
108    void teekivi()
109    {
110        PhysicsObject kivi = PhysicsObject.CreateStaticObject(100.0, 100.0);
111        kivi.Color = Color.Gray;
112        kivi.X = RandomGen.NextDouble(-2000, 2000);
113        kivi.Y = RandomGen.NextDouble(-2000, 2000);
114        kivi.Tag = "kivi";
115        kivi.Tag = "tolppa";
116        Add(kivi);
117
118   
119       
120
121
122        AddCollisionHandler(ihminen, kivi, kivitormays);
123       
124    }
125    IntMeter puuLaskuri;
126
127    void LuoPuulaskuri()
128    {
129        puuLaskuri = new IntMeter(0);
130
131        Label puuNaytto = new Label();
132        puuNaytto.X = Screen.Left + 100;
133        puuNaytto.Y = Screen.Top - 100;
134        puuNaytto.TextColor = Color.Brown;
135        puuNaytto.Color = Color.Wheat;
136        puuNaytto.Title = "puu";
137
138        puuNaytto.BindTo(puuLaskuri);
139        Add(puuNaytto);
140    }
141    IntMeter kivilaskuri;
142
143    void LuoKivilaskuri()
144    {
145        kivilaskuri = new IntMeter(0);
146
147        Label kiviNaytto = new Label();
148        kiviNaytto.X = Screen.Left + 100;
149        kiviNaytto.Y = Screen.Top - 75;
150        kiviNaytto.TextColor = Color.Gray;
151        kiviNaytto.Color = Color.Wheat;
152        kiviNaytto.Title = "kivi";
153
154        kiviNaytto.BindTo(kivilaskuri);
155        Add(kiviNaytto);
156    }
157    void puutormays(PhysicsObject tormaaja, PhysicsObject puu)
158    {
159        puuLaskuri.Value += 1;
160       
161    }
162    void kivitormays(PhysicsObject tormaaja, PhysicsObject kivi)
163    {
164        kivilaskuri.Value += 1;
165    }
166    IntMeter pojolaskuri;
167
168    void luopojolaskuri()
169    {
170        pojolaskuri = new IntMeter(0);
171
172        Label pojonaytto = new Label();
173        pojonaytto.X = Screen.Left + 100;
174        pojonaytto.Y = Screen.Top - 50;
175        pojonaytto.TextColor = Color.Black;
176        pojonaytto.Color = Color.Wheat;
177        pojonaytto.Title = "pojot";
178
179        pojonaytto.BindTo(pojolaskuri);
180        Add(pojonaytto);
181    }
182    IntMeter hplaskuri;
183
184    void luohplaskuri()
185    {
186        hplaskuri = new IntMeter(10);
187        hplaskuri.MinValue = 0;
188        hplaskuri.LowerLimit += ripped;
189
190        Label hpnaytto = new Label();
191        hpnaytto.X = Screen.Left + 100;
192        hpnaytto.Y = Screen.Top - 125;
193        hpnaytto.TextColor = Color.Red;
194        hpnaytto.Color = Color.Wheat;
195        hpnaytto.Title = "hp";
196
197        hpnaytto.BindTo(hplaskuri);
198        Add(hpnaytto);
199    }
200    void karhutormays(PhysicsObject ihminen, PhysicsObject karhu)
201    {
202        hplaskuri.Value -= 1;
203    }
204    void ripped()
205    {
206        MessageDisplay.Add("kuolit");
207    }
208   
209    void teepuu()
210    {
211        PhysicsObject puu = PhysicsObject.CreateStaticObject(100.0, 100.0);
212        puu.X = RandomGen.NextDouble(-2000, 2000);
213        puu.Y = RandomGen.NextDouble(-2000, 2000);
214        puu.Color = Color.Green;
215        puu.Tag = "tolppa";
216        Add(puu);
217    }
218    void Reuna(double leveys, double korkeus, double x, double y)
219    {
220        PhysicsObject reunapalikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
221        reunapalikka.X = x;
222        reunapalikka.Y = y;
223        Add(reunapalikka);
224
225
226    }
227}
Note: See TracBrowser for help on using the repository browser.