source: 2014/30/MitjaK/Tonnin Seteli/Tonnin Seteli/Tonnin seteli/Tonnin seteli/Tonnin Seteli/Tonnin Seteli/Tonnin Seteli/Tonnin_Seteli.cs @ 5699

Revision 5690, 9.1 KB checked in by maelkang, 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 Tonnin_Seteli : PhysicsGame
10{
11    public static Tonnin_Seteli Peli;
12
13    Image tausta = LoadImage("Kahvila_rajattu");
14    Image valikkoTausta = LoadImage("Tonnin seteli_valikko");
15    Image pelaajaj = LoadImage("Jo");
16    Image myyjakasiKuva = LoadImage("käsiseteli");
17    Image havisitpelin = LoadImage("havisitpelin");
18    Image voititpelin = LoadImage("voititpelin");
19    Image A = LoadImage("keyA");
20    Image J = LoadImage("keyJ");
21    Image N = LoadImage("KeyN");
22    Image U = LoadImage("KeyU");
23    Image T = LoadImage("keyT");
24    Image S = LoadImage("KeyS");
25    Image I = LoadImage("KeyI");
26    Image htc = LoadImage("havisitHTC");
27    Image osoini = LoadImage("voititsoinin");
28    Image viiva = LoadImage("Key-");
29    PhysicsObject ostaja;
30    SoundEffect annointonnin = LoadSoundEffect("Annoin_tonnin");
31    SoundEffect kahdeksanMarkkaa = LoadSoundEffect("Kahdeksan Markkaa");
32    SoundEffect enksmaantanu = LoadSoundEffect("EnksMaAntanu");
33    SoundEffect eitoimi = LoadSoundEffect("Nayttoeitoimi");
34    Image Oliseteli = LoadImage("OliSeteli");
35    Image Rahattakaisin = LoadImage("RahatTakaisin");
36    SoundEffect soitanpoliisin = LoadSoundEffect("ajpoliisi");
37    Image Soitanpoliisin = LoadImage("SoitanPoliisin");
38    Image[] soitanpolisinKuvat = LoadImages("ajpuh");
39    Image[] ajSeteliAnimaatio = LoadImages("Jo käsi", "AJsuu1", "AJsuu2", "AJsuu3", "AJsuu4", "AJsuu5", "AJsuu6", "AJsuu7", "AJsuu8", "AJsuu9", "AJsuu10", "AJsuu11", "AJsuu12");
40    bool ShowAJCursor = false;
41    GameObject poydanPala;
42
43    GameObject AJCursor;
44    public override void Begin()
45    {
46        // TODO: Kirjoita ohjelmakoodisi tähän
47        Peli = this;
48        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
49        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
50        Level.Background.Image = valikkoTausta;
51        // Level.CreateBorders();
52        //Level.Size = Screen.Size;
53        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
54        "Aloita peli", "Lopeta");
55        alkuValikko.AddItemHandler(0, AloitaPeli);
56        //alkuValikko.AddItemHandler(1, ParhaatPisteet);
57        alkuValikko.AddItemHandler(1, Exit);
58        Add(alkuValikko);
59    }
60
61    void AloitaPeli()
62    {
63        MediaPlayer.Play("Hissi-MusiikkiPeliin");
64        MediaPlayer.Volume = 0.05;
65        Level.Size = Screen.Size;
66        Level.Background.Image = tausta;
67        Level.Background.Position = Vector.Zero;
68        LuoOstaja();
69        poydanPala = new GameObject(LoadImage("Kahvila_poyta"));
70        poydanPala.Right = Screen.Right;
71        poydanPala.Bottom = Screen.Bottom;
72        Add(poydanPala, 1);
73        //ValintaIkkunat();
74
75    }
76    void LuoOstaja()
77    {
78        ostaja = new PhysicsObject(pelaajaj);
79        ostaja.Position = new Vector(-1000.0, 0.0);
80        ostaja.Size *= 2;
81        ostaja.MoveTo(new Vector(-450.0, 0.0), 50, KaynnistaAJAnimaatio);
82        Add(ostaja);
83    }
84
85    /// <summary>
86    /// Kuts
87    /// </summary>
88    void KaynnistaAJAnimaatio()
89    {
90        Animation a = new Animation(ajSeteliAnimaatio);
91        ostaja.Animation = a;
92        ostaja.Animation.FPS = 2;
93        Timer.SingleShot(3, delegate
94        {
95            ostaja.Animation.Start(1);
96        });
97        ostaja.Animation.Played += myyjanKasi;
98        kahdeksanMarkkaa.Play();
99    }
100    void myyjanKasi()
101    {
102        // Ebin ES 5/5 AJ
103        PhysicsObject MyyjanKasi = new PhysicsObject(myyjakasiKuva);
104        MyyjanKasi.Position = new Vector(300, -300);
105        Add(MyyjanKasi);
106        //MyyjanKasi.Move...
107
108        Timer.SingleShot(3.0, delegate
109        {
110            MyyjanKasi.MoveTo(new Vector(MyyjanKasi.X, Screen.Bottom - 300), 100, LuoMarkkaKasi);
111        });
112    }
113
114    void LuoMarkkaKasi()
115    {
116        PhysicsObject markkaKasi = new PhysicsObject(LoadImage("Marrkka"));
117        markkaKasi.Position = new Vector(300, -400);
118        Add(markkaKasi, 2);
119
120        Timer.SingleShot(2.0, annatonni);
121        Timer.SingleShot(4.0, ValintaIkkunat);
122
123    }
124    void annatonni()
125    {
126        // annointonnin.Play();
127    }
128    void ValintaIkkunat()
129    {
130        Mouse.IsCursorVisible = true;
131        ShowAJCursor = true;
132        AJCursor = new GameObject(LoadImage("AnttiJussicursor"));
133        AJCursor.Position = Mouse.PositionOnScreen;
134        AJCursor.Size *= 0.25;
135        Add(AJCursor, 3);
136        List<PushButton> napit = new List<PushButton>();
137        PushButton ruutu1 = new PushButton(Rahattakaisin);
138        ruutu1.Position = new Vector(0.0, Screen.Bottom + ruutu1.Height / 2 + 15);
139        ruutu1.Clicked += delegate
140        {
141            RahatTakaisin();
142            napit.ForEach(x => x.Destroy());
143        };
144        Add(ruutu1);
145        napit.Add(ruutu1);
146        PushButton ruutu2 = new PushButton(Soitanpoliisin);
147        ruutu2.Position = new Vector(Screen.Left + ruutu2.Width / 2 + 15, Screen.Bottom + ruutu2.Height / 2 + 15);
148        ruutu2.Clicked += delegate
149        {
150            SoitanPoliisin();
151            napit.ForEach(x => x.Destroy());
152        };
153
154        Add(ruutu2);
155        napit.Add(ruutu2);
156        PushButton ruutu3 = new PushButton(Oliseteli);
157        ruutu3.Position = new Vector(Screen.Right - ruutu3.Width / 2 - 15, Screen.Bottom + ruutu3.Height / 2 + 15);
158        Add(ruutu3);
159        ruutu3.Clicked += delegate
160        {
161            SeOliTonni();
162            napit.ForEach(x => x.Destroy());
163        };
164        napit.Add(ruutu3);
165    }
166
167    void RahatTakaisin()
168    {
169        GameObject keyIndicator = new GameObject(A);
170        Add(keyIndicator);
171        keyIndicator.Size *= 0.25;
172        Vector aPos = new Vector(-keyIndicator.Width, 0.0);
173        Vector jPos = new Vector(keyIndicator.Width, 0.0);
174        //keyIndicator.Position = aPos;
175
176        //MessageDisplay.Add("Rahat takaisin");
177        char[] series = { 'a', 'n', 't', 't', 'i', 'j', 'u', 's', 's', 'i', 'a', 'j', 'a', 'j', 'a', 'j', 'a', 'j' };
178        QuickTimeEvent qte = new QuickTimeEvent(this, series, 5.0);
179        qte.StartEvent();
180        qte.QTEResult += delegate(QuickTimeEvent.Result r)
181        {
182            if (r == QuickTimeEvent.Result.Failure)
183            {
184                ClearAll();
185                Level.Background.Image = LoadImage("havisitpelin");
186                LuoLoppuValikko();
187            }
188            else
189            {
190                ClearAll();
191                Level.Background.Image = osoini;
192                LuoLoppuValikko();
193            }
194        };
195        qte.NextKey += delegate(char c)
196        {
197            if (c == 'A')
198            {
199                keyIndicator.Image = A;
200                //keyIndicator.Position = aPos;
201            }
202            if (c == 'J')
203            {
204                keyIndicator.Image = J;
205                //keyIndicator.Position = jPos;
206            }
207            if (c == 'N')
208            {
209                keyIndicator.Image = N;
210            }
211            if (c == 'T')
212            {
213                keyIndicator.Image = T;
214            }
215            if (c == 'I')
216            {
217                keyIndicator.Image = I;
218            }
219            if (c == '-')
220            {
221                keyIndicator.Image = viiva;
222            }
223            if (c == 'U')
224            {
225                keyIndicator.Image = U;
226            }
227            if (c == 'S')
228            {
229                keyIndicator.Image = S;
230            }
231        };
232    }
233
234    protected override void Update(Time time)
235    {
236        if (ShowAJCursor)
237            AJCursor.Position = Mouse.PositionOnScreen;
238        base.Update(time);
239    }
240
241    void SoitanPoliisin()
242    {
243        poydanPala.Destroy();
244        soitanpoliisin.Play();
245       
246        Timer.SingleShot(3.0, delegate
247        {
248            GameObject puhelin = new GameObject(soitanpolisinKuvat[0]);
249            puhelin.Animation = new Animation(soitanpolisinKuvat);
250            puhelin.Animation.FPS = 2;
251            puhelin.Animation.Start(1);
252            eitoimi.Play();
253            Timer.SingleShot(/*(soitanpolisinKuvat.Length / puhelin.Animation.FPS) * 1.5*/ 4.0, delegate
254            {
255                ClearAll();
256                Level.Background.Image = LoadImage("havisitHTC");
257                LuoLoppuValikko();
258            });
259            Add(puhelin);
260        });
261    }
262
263    void SeOliTonni()
264    {
265        //MessageDisplay.Add("Se oli tonnin seteli");
266        annointonnin.Play();
267        Timer.SingleShot(3.0, delegate { enksmaantanu.Play(); });
268        Timer.SingleShot(4.0, delegate
269        {
270            ClearAll();
271            Level.Background.Image = LoadImage("havisitpelin");
272            LuoLoppuValikko();
273        });
274
275    }
276
277    void LuoLoppuValikko()
278    {
279        MultiSelectWindow loppuvalikko = new MultiSelectWindow("Peli päättyi", "Päävalikkoon", "Lopeta");
280        loppuvalikko.AddItemHandler(0, Begin);
281        loppuvalikko.AddItemHandler(1, Exit);
282        Add(loppuvalikko);
283    }
284}
Note: See TracBrowser for help on using the repository browser.