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

Revision 2262, 7.2 KB checked in by jumakall, 8 years ago (diff)
RevLine 
[2168]1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
[2229]9namespace SFN
[2168]10{
[2229]11    public class Peli : PhysicsGame
[2168]12    {
[2229]13        List<Auto> autot = new List<Auto>();
[2240]14        int ID = 0;
[2168]15
[2229]16        Image MenuBackround = LoadImage("MenuBackround");
[2249]17        Label number, malli, moottori, renkaat, moottorin_hinta, renkaiden_hinta;
[2240]18
[2229]19        public override void Begin()
20        {
[2240]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));
[2229]24            Keyboard.Listen(Key.Escape, ButtonState.Released, Exit, null);
25            Mouse.IsCursorVisible = true;
26            CreateMenu();
27        }
[2198]28
[2229]29        void CreateMenu()
30        {
31            //Set menu backround
32            Level.Background.Image = MenuBackround;
[2198]33
[2229]34            //Quit game button
35            PushButton quit_game = new PushButton("Quit game");
36            quit_game.Clicked += new Action(quit_game_Clicked);
37            quit_game.Position = new Vector(380.0, -50.0);
38            Add(quit_game);
[2168]39
[2249]40            //Load game button
[2229]41            PushButton load_game = new PushButton("Load game");
42            //load_game.Clicked += new Action(load_game_Clicked);
43            load_game.Clicked += new Action(GoToShop);
44            load_game.Position = new Vector(200.0, -50.0);
45            Add(load_game);
[2198]46
[2229]47            //New game button
48            PushButton new_game = new PushButton("New game");
49            new_game.Clicked += new Action(new_game_Clicked);
50            new_game.Position = new Vector(20.0, -50.0);
51            Add(new_game);
52        }
[2198]53
[2229]54        void new_game_Clicked()
[2220]55        {
[2229]56            MessageDisplay.Add("Can't start new game. Game engine not availible.");
[2220]57        }
58
[2229]59        void load_game_Clicked()
[2220]60        {
[2229]61            MessageDisplay.Add("Can't load game. Game save system not availible.");
[2220]62        }
63
[2229]64        void quit_game_Clicked()
65        {
66            Exit();
[2220]67        }
68
[2229]69        void GoToShop()
70        {
71            ClearAll();
[2262]72
73            Label ylapalkki = new Label(Screen.Width, Screen.Height / 15);
74            ylapalkki.Color = Color.White;
75            ylapalkki.X = 0;
76            ylapalkki.Y = Screen.Top - (ylapalkki.Height / 2);
77            Add(ylapalkki);
78
79            Label alapalkki = new Label(Screen.Width, Screen.Height / 4);
80            alapalkki.Color = Color.White;
81            alapalkki.Position = new Vector(0, Screen.Bottom + (alapalkki.Height / 2));
82            Add(alapalkki);
83
84            Label oikeareuna = new Label(Screen.Width / 6, Screen.Height);
85            oikeareuna.Color = Color.White;
86            oikeareuna.Position = new Vector(Screen.Right - oikeareuna.Width / 2, 0);
87            Add(oikeareuna);
88
[2229]89            Keyboard.Listen(Key.Escape, ButtonState.Released, Exit, null);
90            Camera.ZoomToLevel();
91            Level.BackgroundColor = Color.LightGray;
[2220]92
[2262]93            /*GameObject alapalkki = new GameObject(Level.Width, Level.Height / 4);
[2229]94            alapalkki.X = 0;
95            alapalkki.Y = Level.Bottom + alapalkki.Height / 2;
[2262]96            Add(alapalkki);*/
97            /*
[2229]98            GameObject ylapalkki = new GameObject(Level.Width, Level.Height / 10);
99            ylapalkki.X = 0;
100            ylapalkki.Y = Level.Top - ylapalkki.Height / 2;
101            Add(ylapalkki);
[2262]102            */
103            /*GameObject oikeareuna = new GameObject(Level.Width / 6, Level.Height);
[2240]104            oikeareuna.Position = new Vector(Level.Right - oikeareuna.Width / 2, 0);
[2262]105            Add(oikeareuna);*/
[2240]106
107            //Next
108            PushButton nextid = new PushButton("-->");
[2262]109            nextid.Position = new Vector(Screen.Right * 0.9, ylapalkki.Y); //Level.Right + 80, Level.Top + 60
[2240]110            nextid.Clicked += new Action(nextid_Clicked);
111            Add(nextid);
112
113            //Previous
114            PushButton previousid = new PushButton("<--");
[2262]115            previousid.Position = new Vector(Screen.Right * 0.65, ylapalkki.Y); //Level.Right - 80, Level.Top + 60
[2240]116            previousid.Clicked += new Action(previousid_Clicked);
117            Add(previousid);
118
[2249]119            PushButton update_engine = new PushButton("Update engine");
120            update_engine.Position = new Vector(Level.Right + 65, Level.Top - 20);
121            update_engine.Clicked += new Action(update_engine_Clicked);
122            Add(update_engine);
123
124            PushButton update_tiers = new PushButton("Update tiers");
125            update_tiers.Position = new Vector(Level.Right + 65, Level.Top - 140);
126            update_tiers.Clicked += new Action(update_tiers_Clicked);
127            Add(update_tiers);
128
[2240]129            //Number
130            number = new Label((ID+1).ToString()+"/"+autot.Count.ToString());
[2262]131            number.Position = new Vector(Screen.Right * 0.78, ylapalkki.Y); //Level.Right, Level.Top + 60
[2240]132            Add(number);
133
134            malli = new Label(autot[ID].korinnimi.ToString());
[2262]135            malli.Position = new Vector(Level.Left, ylapalkki.Y); //Level.Left, Level.Top + 60
[2229]136            Add(malli);
[2240]137
[2249]138            moottori = new Label("Moottori: " + autot[ID].moottori.ToString());
[2262]139            moottori.Position = new Vector(Level.Left + 250, ylapalkki.Y); //Level.Left + 250, Level.Top * 1.2
[2240]140            Add(moottori);
141
[2262]142
[2240]143            renkaat = new Label("Renkaat: "+autot[ID].renkaat.ToString());
[2262]144            renkaat.Position = new Vector(0, ylapalkki.Y);
145            //renkaat.Y = ylapalkki.Y;
146            //ylapalkki.Y = 200 - ylapalkki.Height/2;
147            //renkaat.Position = //new Vector(ylapalkki.X, ylapalkki.Y); //Level.Left + 500, Level.Top + 60
[2240]148            Add(renkaat);
[2249]149
150            moottorin_hinta = new Label("Hinta: " + (autot[ID].moottori * 100).ToString());
151            moottorin_hinta.Position = new Vector(Level.Right + 65, Level.Top - 60);
152            Add(moottorin_hinta);
153
154            renkaiden_hinta = new Label("Hinta: " + (autot[ID].renkaat * 100).ToString());
155            renkaiden_hinta.Position = new Vector(Level.Right + 65, Level.Top - 180);
156            Add(renkaiden_hinta);
[2262]157           
[2229]158        }
[2240]159
[2249]160        void update_tiers_Clicked()
161        {
162            MessageDisplay.Add("Tiers updated.");
163            autot[ID].renkaat += 1;
164            UpdateHUD();
165        }
166
167        void update_engine_Clicked()
168        {
169            MessageDisplay.Add("Engine updated.");
170            autot[ID].moottori += 1;
171            UpdateHUD();
172        }
173
[2240]174        void previousid_Clicked()
175        {
[2262]176            ID = (--ID + autot.Count) % autot.Count;
[2240]177            UpdateHUD();
178        }
179
180        void nextid_Clicked()
181        {
182            ID = ++ID % autot.Count;
183            UpdateHUD();
184        }
185
186        void UpdateHUD()
187        {
188            malli.Text = autot[ID].korinnimi.ToString();
189            moottori.Text = "Moottori: " + autot[ID].moottori.ToString();
190            renkaat.Text = "Renkaat: " + autot[ID].renkaat.ToString();
191            number.Text = (ID + 1).ToString() + "/" + autot.Count.ToString();
[2249]192            moottorin_hinta.Text = "Hinta: " + (autot[ID].moottori * 100).ToString();
193            renkaiden_hinta.Text = "Hinta: " + (autot[ID].renkaat * 100).ToString();
[2240]194        }
[2229]195    }
196}
Note: See TracBrowser for help on using the repository browser.