source: 2014/30/MikaH/Erämaan Valloittaja/Erämaan Valloittaja/Erämaan Valloittaja/Erämaan_Valloittaja.cs @ 5633

Revision 5633, 4.5 KB checked in by mikmaral, 6 years ago (diff)

meteoriitteja!

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Erämaan_Valloittaja : PhysicsGame
10{
11
12
13   
14    Shape kiven1muoto;
15    Image kivikuva1 = LoadImage("kivi1");
16    Shape puunmuoto;
17    Image puukuva = LoadImage("puu");
18    Image taustakuva = LoadImage("maisema");
19    Shape pelaajanmuoto;
20    Image pelaajakuva = LoadImage("PlayerStandingWatchingRigh");
21    PhysicsObject Pelaaja = new PhysicsObject(180, 300);
22    Vector nopeusOikealle = new Vector(300, 0);
23    Vector nopeusVasemmalle = new Vector(-300, 0);
24    Shape kepinmuoto;
25    Image kepinkuva = LoadImage("keppi");
26
27    public override void Begin()
28    {
29
30        LuoAikaLaskuri();
31        puunmuoto = Shape.FromImage(puukuva);
32        GameObject taustaPilvet = new GameObject(Screen.Width, Screen.Height);
33        taustaPilvet.Image = taustakuva;
34        Add(taustaPilvet, -3);
35        Layers[-3].RelativeTransition = new Vector(0.0, 0.0);
36
37       
38
39
40
41
42
43
44        Surface alareuna = Surface.CreateBottom(Level, 2010, 2000, 50, 1);
45            Add(alareuna);
46
47        kepinmuoto = Shape.FromImage(kepinkuva);
48        kiven1muoto = Shape.FromImage(kivikuva1);
49       
50        pelaajanmuoto = Shape.FromImage(pelaajakuva);
51        LuoKentta();
52        AsetaOhjaimet();
53        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
54        LuoKeppi(1000, -200);
55        LuoKeppi(1000, 200);
56        LuoKeppi(1000, 0);
57       
58    }
59
60    void LuoAikaLaskuri()
61    {
62        Timer aikaLaskuri = new Timer();
63        aikaLaskuri.Interval = 0.1;
64        aikaLaskuri.Timeout += LuoKivia;
65        aikaLaskuri.Timeout += aikaLaskuri.Start;
66        aikaLaskuri.Start(1);
67    }
68
69
70
71
72    void LuoKivia()
73    {
74       
75        int kivix = RandomGen.NextInt(-5000, 5000);
76        LuoKivi1(40, 40, kivix, 1000);
77
78
79    }
80
81
82   
83
84
85    void LuoKentta()
86        {
87            SetWindowSize(1200, 1000, false);
88            Gravity = new Vector(0, -800);
89            Level.Background.Image = taustakuva;
90
91           
92
93            Keppilaskuri();
94           
95
96
97
98           
99           
100            LuoPelaaja();
101           
102        }
103
104    IntMeter Keppienmaara;
105
106    void Keppilaskuri()
107    {
108        Keppienmaara = new IntMeter(0);
109
110        Label pisteNaytto = new Label();
111        pisteNaytto.X = Screen.Left + 100;
112        pisteNaytto.Y = Screen.Top - 100;
113        pisteNaytto.TextColor = Color.Black;
114        pisteNaytto.Color = Color.White;
115        pisteNaytto.Title = "Kepit";
116
117        pisteNaytto.BindTo(Keppienmaara);
118        Add(pisteNaytto);
119    }
120
121
122    void LuoKivi1(double kivi1leveys,double kivi1pituus, double x, double y)
123    {
124        PhysicsObject kivi1 = new PhysicsObject(kivi1leveys, kivi1pituus);
125
126       
127        AddCollisionHandler(kivi1, Pelaaja, CollisionHandler.DestroyObject);
128        kivi1.IgnoresCollisionResponse = true;
129
130       
131       
132        kivi1.X = x;
133        kivi1.Y = y;
134
135       
136        kivi1.Image = kivikuva1;
137        Add(kivi1);
138    }
139
140   
141
142    void LuoPelaaja()
143    {
144        Pelaaja.CanRotate = false;
145        Pelaaja.Image = pelaajakuva;
146        Pelaaja.Y = -200;
147        Pelaaja.Tag = "pellaaja";
148        AddCollisionHandler(Pelaaja, "kepukka", keraakeppi);
149        Add(Pelaaja);
150        Camera.Follow(Pelaaja);
151       
152    }
153
154    void AsetaOhjaimet()
155    {
156       
157        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Mene Oikealle", Pelaaja, nopeusOikealle);
158        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, Pelaaja, Vector.Zero);
159        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Mene Vasemmalle", Pelaaja, nopeusVasemmalle);
160        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, Pelaaja, Vector.Zero);
161       
162    }
163
164   
165
166   
167    void keraakeppi(PhysicsObject Pelaaja, PhysicsObject keppi)
168    {
169
170        Keppienmaara.Value = Keppienmaara + 1;
171        keppi.Destroy();
172    }
173
174    void AsetaNopeus(PhysicsObject Pelaaja, Vector nopeus)
175    {
176        Pelaaja.Velocity = nopeus;
177    }
178
179    void LuoKeppi(double x, double y)
180    {
181        PhysicsObject keppi = new PhysicsObject(10, 100);
182        keppi.IgnoresCollisionResponse = false;
183        keppi.Image = kepinkuva;
184        keppi.Tag = "kepukka";
185        keppi.X = x;
186        keppi.Y = y;
187
188
189        Add(keppi);
190    }
191
192
193
194
195
196
197
198
199
200}
Note: See TracBrowser for help on using the repository browser.