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

Revision 8645, 5.6 KB checked in by npo17_22, 2 years ago (diff)

Random kenttä

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