source: 2011/26/JuhoK/SFN/SFN/SFN/Peli.cs @ 2240

Revision 2240, 4.7 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
9namespace SFN
10{
11    public class Peli : PhysicsGame
12    {
13        List<Auto> autot = new List<Auto>();
14        int ID = 0;
15
16        Image MenuBackround = LoadImage("MenuBackround");
17        Label number, malli, moottori, renkaat;
18
19        public override void Begin()
20        {
21            autot.Add(new Auto("Model1", 1, 4, 5));
22            autot.Add(new Auto("Model3", 3, 9, 1));
23            autot.Add(new Auto("Model2", 2, 9, 3));
24
25            //Korit[0] = 2;
26            Keyboard.Listen(Key.Escape, ButtonState.Released, Exit, null);
27            Mouse.IsCursorVisible = true;
28            CreateMenu();
29        }
30
31        void CreateMenu()
32        {
33            //Set menu backround
34            Level.Background.Image = MenuBackround;
35
36            //Quit game button
37            PushButton quit_game = new PushButton("Quit game");
38            quit_game.Clicked += new Action(quit_game_Clicked);
39            quit_game.Position = new Vector(380.0, -50.0);
40            Add(quit_game);
41
42            //Load game button
43            PushButton load_game = new PushButton("Load game");
44            //load_game.Clicked += new Action(load_game_Clicked);
45            load_game.Clicked += new Action(GoToShop);
46            load_game.Position = new Vector(200.0, -50.0);
47            Add(load_game);
48
49            //New game button
50            PushButton new_game = new PushButton("New game");
51            new_game.Clicked += new Action(new_game_Clicked);
52            new_game.Position = new Vector(20.0, -50.0);
53            Add(new_game);
54        }
55
56        void new_game_Clicked()
57        {
58            MessageDisplay.Add("Can't start new game. Game engine not availible.");
59        }
60
61        void load_game_Clicked()
62        {
63            MessageDisplay.Add("Can't load game. Game save system not availible.");
64        }
65
66        void quit_game_Clicked()
67        {
68            Exit();
69        }
70
71        void GoToShop()
72        {
73            ClearAll();
74            Keyboard.Listen(Key.Escape, ButtonState.Released, Exit, null);
75            Camera.ZoomToLevel();
76            Level.BackgroundColor = Color.LightGray;
77
78            GameObject alapalkki = new GameObject(Level.Width, Level.Height / 4);
79            alapalkki.X = 0;
80            alapalkki.Y = Level.Bottom + alapalkki.Height / 2;
81            Add(alapalkki);
82
83            GameObject ylapalkki = new GameObject(Level.Width, Level.Height / 10);
84            ylapalkki.X = 0;
85            ylapalkki.Y = Level.Top - ylapalkki.Height / 2;
86            Add(ylapalkki);
87
88            GameObject oikeareuna = new GameObject(Level.Width / 6, Level.Height);
89            oikeareuna.Position = new Vector(Level.Right - oikeareuna.Width / 2, 0);
90            Add(oikeareuna);
91
92            //Next
93            PushButton nextid = new PushButton("-->");
94            nextid.Position = new Vector(Level.Right + 80, Level.Top + 60);
95            nextid.Clicked += new Action(nextid_Clicked);
96            Add(nextid);
97
98            //Previous
99            PushButton previousid = new PushButton("<--");
100            previousid.Position = new Vector(Level.Right - 80, Level.Top + 60);
101            previousid.Clicked += new Action(previousid_Clicked);
102            Add(previousid);
103
104            //Number
105            number = new Label((ID+1).ToString()+"/"+autot.Count.ToString());
106            number.Position = new Vector(Level.Right, Level.Top + 60);
107            Add(number);
108
109            malli = new Label(autot[ID].korinnimi.ToString());
110            malli.Position = new Vector(Level.Left, Level.Top + 60);
111            Add(malli);
112
113            moottori = new Label("Moottori: "+autot[ID].moottori.ToString());
114            moottori.Position = new Vector(Level.Left + 250, Level.Top + 60);
115            Add(moottori);
116
117            renkaat = new Label("Renkaat: "+autot[ID].renkaat.ToString());
118            renkaat.Position = new Vector(Level.Left + 500, Level.Top + 60);
119            Add(renkaat);
120        }
121
122        void previousid_Clicked()
123        {
124            ID = --ID % autot.Count;
125            UpdateHUD();
126        }
127
128        void nextid_Clicked()
129        {
130            ID = ++ID % autot.Count;
131            UpdateHUD();
132        }
133
134        void UpdateHUD()
135        {
136            malli.Text = autot[ID].korinnimi.ToString();
137            moottori.Text = "Moottori: " + autot[ID].moottori.ToString();
138            renkaat.Text = "Renkaat: " + autot[ID].renkaat.ToString();
139            number.Text = (ID + 1).ToString() + "/" + autot.Count.ToString();
140        }
141    }
142}
Note: See TracBrowser for help on using the repository browser.