source: 2015/23/DimitriosK/PerusPeli1/PerusPeli1/PerusPeli1/PerusPeli1.cs @ 5897

Revision 5897, 5.2 KB checked in by sieerinn, 6 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 PerusPeli1 : Game
10{
11    IntMeter pisteLaskuri;
12    DoubleMeter alaspainLaskuri;
13    Timer aikaLaskuri;
14    Timer ajastin;
15    EasyHighScore topLista = new EasyHighScore();
16    SoundEffect intervention = LoadSoundEffect("intervention");
17    SoundEffect airhorn = LoadSoundEffect("airhorn");
18    SoundEffect hitmarker = LoadSoundEffect("hitmarker");
19    Image taustaKuva = LoadImage("tausta");
20    Image obamaKuva = LoadImage("obama");
21    Image putinKuva = LoadImage("putin");
22    Image dorito = LoadImage("dorito");
23    Image lays = LoadImage("lays");
24    Image pyssynkuva = LoadImage("pyssy");
25    Image rajahdyskuva = LoadImage("hitmark");
26   
27   
28
29   
30   
31
32
33    public override void Begin()
34    {
35
36       
37
38        teealkuvalikko();
39
40        //AloitaPeli();
41       
42
43
44       
45
46
47
48
49
50    }
51    void Lisaapalloja()
52    {
53        PhysicsObject pallo = new PhysicsObject(100.0, 100.0);
54        pallo.Shape = Shape.Circle;
55        pallo.Color = new Color(0, 200, 0);
56        pallo.Position = RandomGen.NextVector(Level.Left, Level.Bottom, Level.Right, Level.Top);
57        pallo.LifetimeLeft = TimeSpan.FromSeconds(0.7);
58        pallo.Image = putinKuva;
59        Add(pallo);
60        Mouse.ListenOn(pallo, MouseButton.Left,
61  ButtonState.Down, TuhoaPallo, null, pallo);
62       
63    }
64
65    void Lisaapalloja2()
66    {
67
68        PhysicsObject pallo2 = new PhysicsObject(100.0, 100.0);
69        pallo2.Shape = Shape.Circle;
70        pallo2.Color = new Color(0, 150, 0);
71        pallo2.Position = RandomGen.NextVector(Level.Left, Level.Bottom, Level.Right, Level.Top);
72        pallo2.LifetimeLeft = TimeSpan.FromSeconds(0.7);
73        pallo2.Image = obamaKuva;
74        Add(pallo2);
75        Mouse.ListenOn(pallo2, MouseButton.Left,
76  ButtonState.Down, TuhoaPallo2, null, pallo2);
77
78
79
80
81
82    }
83
84
85    void AsetaKontrollit()
86    {
87        Mouse.IsCursorVisible = true;
88
89    }
90    void TuhoaPallo(PhysicsObject pallo)
91    {
92        pallo.Destroy();
93        pisteLaskuri.Value += 1;
94        intervention.Play();
95        hitmarker.Play();
96        Explosion rajahdys = new Explosion(50);
97        rajahdys.Position = pallo.Position;
98        rajahdys.Image = rajahdyskuva;
99        rajahdys.Force = 1;
100        Add(rajahdys);
101
102
103       
104       
105       
106       
107       
108
109
110    }
111
112 
113    void TuhoaPallo2(PhysicsObject pallo2)
114    {
115
116        pallo2.Destroy();
117        pisteLaskuri.Value += -5;
118        airhorn.Play();
119
120    }
121
122
123    void LuoPistelaskuri()
124    {
125
126        pisteLaskuri = new IntMeter(0);
127
128        Label pisteNaytto = new Label();
129        pisteNaytto.X = Screen.Left + 100;
130        pisteNaytto.Y = Screen.Top - 100;
131        pisteNaytto.TextColor = Color.Black;
132        pisteNaytto.Color = Color.LightBlue;
133
134        pisteNaytto.BindTo(pisteLaskuri);
135        Add(pisteNaytto);
136    }
137
138    void LuoAikaLaskuri()
139    {
140        alaspainLaskuri = new DoubleMeter(30);
141
142        aikaLaskuri = new Timer();
143        aikaLaskuri.Interval = 1;
144        aikaLaskuri.Timeout += LaskeAlaspain;
145        aikaLaskuri.Start();
146
147        Label aikaNaytto = new Label();
148        aikaNaytto.TextColor = Color.Fuchsia;
149        aikaNaytto.DecimalPlaces = 1;
150        aikaNaytto.BindTo(alaspainLaskuri);
151        aikaNaytto.X = Level.Right;
152        aikaNaytto.Y = Screen.Top - 100;
153        aikaNaytto.Font = Font.DefaultLarge;
154
155        Add(aikaNaytto);
156    }
157
158    void LaskeAlaspain()
159    {
160        alaspainLaskuri.Value -= 1;
161
162        if (alaspainLaskuri.Value <= 0)
163        {
164            MessageDisplay.Add("Aika loppui...");
165            aikaLaskuri.Stop();
166
167            ajastin.Stop();
168            topLista.EnterAndShow(pisteLaskuri.Value);
169            topLista.HighScoreWindow.Closed += AloitaPeli;
170        }
171    }
172
173    void AloitaPeli(Window sender)
174    {
175        AloitaPeli();
176    }
177
178    void AloitaPeli()
179    {
180        ClearAll();
181        MediaPlayer.Play("jurpo");
182        MediaPlayer.IsRepeating = true;
183
184        AsetaKontrollit();
185        LuoPistelaskuri();
186        LuoAikaLaskuri();
187
188
189
190
191        Level.Background.Image = taustaKuva;
192        Level.BackgroundColor = Color.Black;
193
194       
195
196
197        ajastin = new Timer();
198        ajastin.Interval = 1.3;
199        ajastin.Timeout += Lisaapalloja;
200        ajastin.Timeout += Lisaapalloja2;
201        ajastin.Start();
202
203
204
205
206
207
208
209
210
211
212
213        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
214        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
215       
216
217    }
218
219    void ParhaatPisteet()
220{
221
222    topLista.Show();
223    topLista.HighScoreWindow.Closed += delegate { teealkuvalikko(); };
224
225}
226    void teealkuvalikko()
227    {
228        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
229"Aloita peli", "Parhaat pisteet", "Lopeta");
230        Add(alkuValikko);
231
232        alkuValikko.AddItemHandler(0, AloitaPeli);
233        alkuValikko.AddItemHandler(1, ParhaatPisteet);
234        alkuValikko.AddItemHandler(2, Exit);
235
236
237    }
238
239}
Note: See TracBrowser for help on using the repository browser.