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

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