source: 2013/27/TeemuM/Game/Game/Game/Game.cs @ 4398

Revision 4398, 3.9 KB checked in by jumakall, 8 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 G : PhysicsGame
10{
11    public static G game;
12    IntMeter scoreboard;
13    public Player player { get; private set; }
14
15    public override void Begin()
16    {
17        game = this;
18        Mouse.IsCursorVisible = true;
19
20        MultiSelectWindow menu = new MultiSelectWindow("TESTMODE", "Developer tools", "Start this thing", "Get me out of here");
21        menu.DefaultCancel = 2;
22        menu.AddItemHandler(0, delegate() { MessageDisplay.Add("Starting game..."); StartGame(); DeveloperCommand(); });
23        menu.AddItemHandler(1, StartGame);
24        menu.AddItemHandler(2, Exit);
25        Add(menu);
26    }
27
28    private void DeveloperCommand()
29    {
30        IsPaused = true;
31        InputWindow prompt = new InputWindow("");
32        prompt.TextEntered += delegate(InputWindow p)
33        {
34            if (p.InputBox.Text.Length == 0) { IsPaused = false; return; } 
35            string[] commands = p.InputBox.Text.Split(' ');
36
37            if (commands[0] == "money")
38            {
39                if (commands[1] == "add")
40                {
41                    MessageDisplay.Add("+$" + int.Parse(commands[2]));
42                    player.health--;
43                }
44                else if (commands[1] == "reduce")
45                {
46                    MessageDisplay.Add("-$" + int.Parse(commands[2]) + "!");
47                }
48            }
49            else if (commands[0] == "level")
50            {
51                if (commands[1] == "up")
52                {
53                   MessageDisplay.Add("+" + int.Parse(commands[2]) + " levels");
54                }
55                else if (commands[1] == "down")
56                {
57                    MessageDisplay.Add("-" + int.Parse(commands[2]) + " levels");
58                }
59            }
60            else if (commands[0] == "item")
61            {
62                if (player.GiveWeapon(commands[1]))
63                {
64                    MessageDisplay.Add("You got " + commands[1] + "!");
65                }
66                else
67                {
68                    MessageDisplay.Add("What " + commands[1] + "?");
69                }
70            }
71            else if (commands[0] == "powerup")
72            {
73                if (player.PowerUp(commands[1], int.Parse(commands[2])))
74                    MessageDisplay.Add("Activated " + commands[1] + " powerup");
75                else
76                    MessageDisplay.Add("No such powerup");
77            }
78            else if (commands[0] == "exit")
79            {
80                Exit();
81            }
82            else { MessageDisplay.Add("Unknow command!"); }
83
84            DeveloperCommand();
85        };
86        Add(prompt);
87    }
88
89    private void StartGame()
90    {
91        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");
92        Keyboard.Listen(Key.Tab, ButtonState.Pressed, DeveloperCommand, null);
93        Keyboard.Listen(Key.Enter, ButtonState.Pressed, delegate() { MessageDisplay.Add("Pause toggled!"); Pause(); }, null);
94        AddScoreMeter();
95
96        player = new Player(50, 50, 1, true);
97        Add(player);
98
99    }
100   
101    void createZ()
102    {
103        Zombie1 zed1 = new Zombie1(50, 50, RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top), 100);
104        Add(zed1);
105    }
106
107    void createPlayer()
108    {
109        player = new Player(50, 50, 100, true);
110        Add(player);
111    }
112
113    private void AddScoreMeter()
114    {
115        scoreboard = new IntMeter(0);
116        scoreboard.AddOverTime(100, 10);
117
118        Label ScoreScreen = new Label();
119        ScoreScreen.X = 0;
120        ScoreScreen.Y = Screen.Bottom + 100;
121        ScoreScreen.TextColor = Color.Black;
122        ScoreScreen.Color = Color.White;
123        ScoreScreen.BindTo(scoreboard);
124        Add(ScoreScreen);
125    }
126}
Note: See TracBrowser for help on using the repository browser.