source: 2016/koodauskerho/EeroP/Fight/Fight/Fight/Fight.cs @ 8363

Revision 8363, 6.0 KB checked in by koannak, 3 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 Fight : Game
10{
11    IntMeter livesLaskuri;
12    public override void Begin()
13    {
14        Level.Background.Color = Color.Red;
15
16        MultiSelectWindow alkuValikko = new MultiSelectWindow("The dungeon quiz", "Start game", "Instructions", "Quit");
17        Add(alkuValikko);
18
19        alkuValikko.AddItemHandler(0, StartGame);
20        alkuValikko.AddItemHandler(1, Instructions);
21        alkuValikko.AddItemHandler(2, Exit);
22
23        alkuValikko.Color = Color.Red;
24        alkuValikko.SelectionColor = Color.Red;
25        alkuValikko.DefaultCancel = 3;
26
27        LuoLivesLaskuri();
28
29        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
30    }
31    void StartGame()
32    {
33
34        MultiSelectWindow kysymys1 = new MultiSelectWindow("Who am I?", "I don't know", "The mad scientist", "Father?", "Batman!");
35        Add(kysymys1);
36
37        kysymys1.AddItemHandler(0, Vaara1);
38        kysymys1.AddItemHandler(1, Oikein1);
39        kysymys1.AddItemHandler(2, Vaara1);
40        kysymys1.AddItemHandler(3, Vaara1);
41
42        kysymys1.Color = Color.Red;
43        kysymys1.SelectionColor = Color.Red;
44
45        if (livesLaskuri == 0)
46        {
47            MessageDisplay.Add("YOU LOSE");
48            Timer.SingleShot(2, Exit);
49        }
50    }
51    void Instructions()
52    {
53        Label tekstikentta = new Label("A mad scientist has locked you in a cell! You must answer his questions. But beware! If you answer 3 questions wrong, he will kill you!");
54        Add(tekstikentta);
55
56        Label kohta1 = new Label("Back to menu");
57        kohta1.Position = new Vector(0, -60);
58        Mouse.IsCursorVisible = true;
59        Add(kohta1);
60        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, delegate { tekstikentta.Destroy(); Begin(); }, null);
61    }
62    void LuoLivesLaskuri()
63    {
64        livesLaskuri = new IntMeter(3);
65
66        Label livesNaytto = new Label();
67        livesNaytto.X = Screen.Right - 500;
68        livesNaytto.Y = Screen.Bottom + 150;
69        livesNaytto.TextColor = Color.Black;
70        livesNaytto.Title = "Lives";
71
72        livesNaytto.BindTo(livesLaskuri);
73        Add(livesNaytto);
74    }
75    void Vaara1()
76    {
77        livesLaskuri.Value -= 1;
78        StartGame();
79    }
80    void Oikein1()
81    {
82        MultiSelectWindow kysymys2 = new MultiSelectWindow("Which one is the simplest?", "Your mother", "Your dog", "Your teacher", "This question");
83        Add(kysymys2);
84
85        kysymys2.AddItemHandler(0, Vaara2);
86        kysymys2.AddItemHandler(1, Vaara2);
87        kysymys2.AddItemHandler(2, Oikein2);
88        kysymys2.AddItemHandler(3, Vaara2);
89
90        kysymys2.Color = Color.Red;
91        kysymys2.SelectionColor = Color.Red;
92
93        if (livesLaskuri == 0)
94        {
95            MessageDisplay.Add("YOU LOSE");
96            Timer.SingleShot(2, Exit);
97        }
98    }
99    void Vaara2()
100    {
101        livesLaskuri.Value -= 1;
102        Oikein1();
103    }
104    void Oikein2()
105    {
106        MultiSelectWindow kysymys3 = new MultiSelectWindow("The answer is small", "Small", "small", "A mouse", "Pluto");
107        Add(kysymys3);
108
109        kysymys3.AddItemHandler(0, Vaara3);
110        kysymys3.AddItemHandler(1, Vaara3);
111        kysymys3.AddItemHandler(2, Oikein3);
112        kysymys3.AddItemHandler(3, Vaara3);
113
114        kysymys3.Color = Color.Red;
115        kysymys3.SelectionColor = Color.Red;
116
117        if (livesLaskuri == 0)
118        {
119            MessageDisplay.Add("YOU LOSE");
120            Timer.SingleShot(2, Exit);
121        }
122    }
123    void Vaara3()
124    {
125        livesLaskuri.Value -= 1;
126        Oikein2();
127    }
128    void Oikein3()
129    {
130        MultiSelectWindow kysymys4 = new MultiSelectWindow("C'mon and slam and welcome to the...", "Jam!", "Dam!", "Slam!", "Can!");
131        Add(kysymys4);
132
133        kysymys4.AddItemHandler(0, Oikein4);
134        kysymys4.AddItemHandler(1, Vaara4);
135        kysymys4.AddItemHandler(2, Vaara4);
136        kysymys4.AddItemHandler(3, Vaara4);
137
138        kysymys4.Color = Color.Red;
139        kysymys4.SelectionColor = Color.Red;
140
141        if (livesLaskuri == 0)
142        {
143            MessageDisplay.Add("YOU LOSE");
144            Timer.SingleShot(2, Exit);
145        }
146    }
147    void Vaara4()
148    {
149        livesLaskuri.Value -= 1;
150        Oikein3();
151    }
152    void Oikein4()
153    {
154        MultiSelectWindow kysymys5 = new MultiSelectWindow("What is the prize for answering right?", "Freedom", "Cake", "Death", "Questions");
155        Add(kysymys5);
156
157        kysymys5.AddItemHandler(0, Vaara5);
158        kysymys5.AddItemHandler(1, Cake);
159        kysymys5.AddItemHandler(2, Vaara5);
160        kysymys5.AddItemHandler(3, Oikein5);
161
162        kysymys5.Color = Color.Red;
163        kysymys5.SelectionColor = Color.Red;
164
165        if (livesLaskuri == 0)
166        {
167            Timer.SingleShot(2, Exit);
168        }
169    }
170    void Vaara5()
171    {
172        livesLaskuri.Value -= 1;
173        Oikein4();
174    }
175    void Cake()
176    {
177        livesLaskuri.Value -= 1;
178        Oikein4();
179        if (livesLaskuri == 0)
180        {
181            MessageDisplay.Add("THE CAKE IS A LIE");
182        }
183    }
184    void Oikein5()
185    {
186        MultiSelectWindow kysymys6 = new MultiSelectWindow("What is love?", "A chemical reaction", "Baby don't hurt me", "Magic", "A mystery");
187        Add(kysymys6);
188
189        kysymys6.AddItemHandler(0, Vaara6);
190        kysymys6.AddItemHandler(1, Oikein6);
191        kysymys6.AddItemHandler(2, Vaara6);
192        kysymys6.AddItemHandler(3, Vaara6);
193
194        kysymys6.Color = Color.Red;
195        kysymys6.SelectionColor = Color.Red;
196
197        if (livesLaskuri == 0)
198        {
199            MessageDisplay.Add("YOU LOSE");
200            Timer.SingleShot(2, Exit);
201        }
202    }
203    void Vaara6()
204    {
205        livesLaskuri.Value -= 1;
206        Oikein5();
207    }
208    void Oikein6()
209    {
210
211    }
212}
Note: See TracBrowser for help on using the repository browser.