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

Revision 4394, 3.9 KB checked in by teematma, 10 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;
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                }
43                else if (commands[1] == "reduce")
44                {
45                    MessageDisplay.Add("-$" + int.Parse(commands[2]) + "!");
46                }
47            }
48            else if (commands[0] == "level")
49            {
50                if (commands[1] == "up")
51                {
52                   MessageDisplay.Add("+" + int.Parse(commands[2]) + " levels");
53                }
54                else if (commands[1] == "down")
55                {
56                    MessageDisplay.Add("-" + int.Parse(commands[2]) + " levels");
57                }
58            }
59            else if (commands[0] == "item")
60            {
61                if (player.GiveWeapon(commands[1]))
62                {
63                    MessageDisplay.Add("You got " + commands[1] + "!");
64                }
65                else
66                {
67                    MessageDisplay.Add("What " + commands[1] + "?");
68                }
69            }
70            else if (commands[0] == "powerup")
71            {
72                if (player.PowerUp(commands[1], int.Parse(commands[2])))
73                    MessageDisplay.Add("Activated " + commands[1] + " powerup");
74                else
75                    MessageDisplay.Add("No such powerup");
76            }
77            else if (commands[0] == "exit")
78            {
79                Exit();
80            }
81            else { MessageDisplay.Add("Unknow command!"); }
82
83            DeveloperCommand();
84        };
85        Add(prompt);
86    }
87
88    private void StartGame()
89    {
90        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");
91        Keyboard.Listen(Key.Tab, ButtonState.Pressed, DeveloperCommand, null);
92        Keyboard.Listen(Key.Enter, ButtonState.Pressed, delegate() { MessageDisplay.Add("Pause toggled!"); Pause(); }, null);
93        AddScoreMeter();
94
95        createPlayer();
96        createZ();
97
98    }
99   
100    void createZ()
101    {
102        Zombie1 zed1 = new Zombie1(50, 50, RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top), 100);
103        Add(zed1);
104    }
105
106    void createPlayer()
107    {
108        player = new Player(50, 50, 100, true);
109        Add(player);
110    }
111
112    private void AddScoreMeter()
113    {
114        scoreboard = new IntMeter(0);
115        scoreboard.AddOverTime(100, 10);
116
117        Label ScoreScreen = new Label();
118        ScoreScreen.X = 0;
119        ScoreScreen.Y = Screen.Bottom + 100;
120        ScoreScreen.TextColor = Color.Black;
121        ScoreScreen.Color = Color.White;
122        ScoreScreen.BindTo(scoreboard);
123        Add(ScoreScreen);
124    }
125}
Note: See TracBrowser for help on using the repository browser.