source: 2016/koodauskerho/ChristianI/WIn11/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs @ 8426

Revision 8426, 6.5 KB checked in by sieerinn, 2 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 FysiikkaPeli1 : PhysicsGame
10{
11    List<Widget> startMenu = new List<Widget>();
12
13    public override void Begin()
14    {
15
16        Window.Fullscreen = true;
17        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
18        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
19
20
21        StartMenu();
22    }
23    void StartMenu()
24    {
25        MultiSelectWindow startmenu = new MultiSelectWindow("Welcome to Windows 11.", "Login into Windows", "Shutdown", "Settings");
26        startmenu.AddItemHandler(0, logintowin);
27        startmenu.AddItemHandler(1, Exit);
28        startmenu.AddItemHandler(2, winsettings);
29        startmenu.DefaultCancel = -1;
30        Add(startmenu);
31
32    }
33    void logintowin()
34    {
35        InputWindow login = new InputWindow("Input User Password:");
36        login.TextEntered += TarkistaSalasana;
37        Add(login);
38    }
39
40    private void TarkistaSalasana(InputWindow sender)
41    {
42        if (sender.InputBox.Text == "katt203x")
43        {
44            WinDesktop();
45
46        }
47        else if (sender.InputBox.Text == " x")
48        {
49            WinDesktop();
50        }
51        else
52        {
53            Label wrongpass = new Label("Wrong Password.");
54            wrongpass.Y = Screen.Top - 100;
55            Add(wrongpass);
56            logintowin();
57        }
58    }
59
60
61
62
63    void WinDesktop()
64    {
65        ClearGameObjects();
66        Label Taskbar = new Label(Screen.Width, 75);
67        Taskbar.Image = LoadImage("Taskbar");
68        Taskbar.Position = new Vector(0, Screen.BottomSafe + Taskbar.Height * 0.5);
69        Add(Taskbar);
70        PushButton startlbl = new PushButton(140, 75);
71        startlbl.Text = "Start";
72        startlbl.Pressed += MakeBar;
73        startlbl.Position = new Vector(Screen.Left + startlbl.Width * 0.5, Screen.Bottom + startlbl.Height * 0.5);
74        Add(startlbl);
75        Mouse.IsCursorVisible = true;
76        Image taustaKuva = LoadImage("Ti6qoP7");
77        Level.Background.Image = taustaKuva;
78        Keyboard.Listen(Key.F, ButtonState.Pressed, Assistant, "Assistant");
79
80    }
81    void Assistant()
82    {
83        InputBox assistant = new InputBox(40);
84        assistant.Text = "Hello. ";
85        Add(assistant);
86        Mouse.Listen(MouseButton.Right, ButtonState.Pressed, CloseAssistant, "Close the Assistant", assistant);
87        Keyboard.Listen(Key.Enter, ButtonState.Pressed, CheckA, "Check the URL", assistant);
88    }
89    void CheckA(InputBox assistant)
90    {
91        if (assistant.Text == "Test")
92        {
93            MessageDisplay.Add("Hi. This is Assistant test.");
94        }
95        else if (assistant.Text == "Katie Smith")
96        {
97            MessageDisplay.Add("Katie Smith is Mr. Smith's wife. He owns a website called ´www.kattysweb.com´. Mr. Smith is a app developer. ");
98        }
99        else if (assistant.Text == "www.kattysweb.com")
100        {
101            MessageDisplay.Add("www.kattysweb.com is Katie Smith's website.");
102        }
103        else
104        {
105            MessageDisplay.Add("Sorry. I did not find anything about your question.");
106        }
107        Keyboard.Disable(Key.Enter);
108    }
109    void WWWeb()
110    {
111        Window webwindow = new Window(800, 600);
112        webwindow.Image = LoadImage("webwindow");
113        webwindow.Position = new Vector(Screen.Left + webwindow.Width * 1.5, Screen.Bottom + webwindow.Height * 1.0);
114        Add(webwindow);
115        webwindow.IsModal = false;
116        Mouse.Listen(MouseButton.Right, ButtonState.Pressed, CloseWeb, "Close the Web window", webwindow);
117        InputBox url = new InputBox(30);
118        url.Text = "Write URL here...";
119        webwindow.Add(url);
120        Keyboard.Listen(Key.Enter, ButtonState.Pressed, CheckURL, "Check the URL", url);
121
122    }
123    void CheckURL(InputBox url)
124    {
125        if (url.Text == "www.test.com")
126        {
127            MessageDisplay.Add("This is a test.");
128        }
129        else if (url.Text == "www.kattysweb.com")
130        {
131            MessageDisplay.Add("Welcome to Kattysweb! Website by Katie Smith.");
132        }
133        else
134        {
135            MessageDisplay.Add("Error. Website not found. Try another URL.");
136        }
137        Keyboard.Disable(Key.Enter);
138    }
139
140
141    void CloseWeb(Window webwindow)
142    {
143        if (Mouse.IsCursorOn(webwindow))
144        {
145            webwindow.Close();
146        }
147        void CloseAssistant(InputBox assistant)
148    {
149            if (Mouse.IsCursorOn(assistant))
150            {
151                webwindow.Close();
152            }
153
154
155        }
156    private void MakeBar()
157    {
158        if (startMenu.Count > 0)
159        {
160            foreach (Widget item in startMenu)
161            {
162                item.Destroy();
163            }
164            startMenu.Clear();
165            return;
166        }
167        double startY = 75;
168        Label bas = new Label(Screen.Width * 0.35, Screen.Height * 0.75);
169        bas.Color = Color.Red;
170        bas.Position = new Vector(Screen.Left + bas.Width * 0.5, Screen.Bottom + startY + bas.Height * 0.5);
171        Add(bas);
172        startMenu.Add(bas);
173
174        Tuple<String, Action>[] options =
175        {
176            new Tuple<String, Action>("web", WWWeb),
177            new Tuple<string, Action>("Ti6qoP7", ErrormsgNR),
178        };
179
180
181        for (int i = 0; i < options.Length; i++)
182        {
183            PushButton lab = new PushButton(bas.Width, startY);
184            lab.Position = new Vector(bas.X, Screen.Bottom + lab.Height * 0.5 + startY * (i + 1));
185            lab.Image = LoadImage(options[i].Item1);
186            lab.Pressed += options[i].Item2;
187            Add(lab);
188            startMenu.Add(lab);
189        }
190
191
192    }
193    void ErrormsgNR()
194    {
195        MessageDisplay.Add("Error. Not ready yet.");
196    }
197    void HelloWorld()
198    {
199        MessageDisplay.Add("Hello world");
200    }
201
202    void easteregg1()
203    {
204        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Activate EE");
205    }
206    void winsettings()
207    {
208        MultiSelectWindow settings1 = new MultiSelectWindow("Settings", "Password", "is", "0110101101100001011101000111010000110010001100000011001101111000");
209        Add(settings1);
210        settings1.AddItemHandler(0, StartMenu);
211        settings1.AddItemHandler(1, StartMenu);
212        settings1.AddItemHandler(2, StartMenu);
213        settings1.DefaultCancel = 0;
214    }
215}
Note: See TracBrowser for help on using the repository browser.