source: 2011/26/HenriH/Alien Empire/Alien Empire/Alien Empire/Peli.cs @ 2282

Revision 2282, 4.4 KB checked in by jahebahu, 12 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Peli : PhysicsGame
10{
11
12    Image taustakuva = LoadImage("SpaceJAText_Modified");
13    List<Label> valikonKohdat;
14    PhysicsObject alus1;
15    PhysicsObject alus2;
16    Image olionkuva = LoadImage("alus1");
17    Image olionkuva2 = LoadImage("alus2");
18    Image kiihdytys1 = LoadImage("alus1_kaasuttaa");
19    Image kiihdytys2 = LoadImage("alus2_kaasuttaa");
20
21    public override void Begin()
22    {
23        // TODO: Kirjoita ohjelmakoodisi tähän
24        Valikko();
25        IsFullScreen = true;
26       
27
28    }
29
30    void Valikko()
31    {
32        ClearAll();
33        valikonKohdat = new List<Label>();
34
35        Label kohta1 = new Label("Aloita uusi peli");
36        kohta1.Position = new Vector(0, 40);
37        valikonKohdat.Add(kohta1);
38
39        Label kohta2 = new Label("Lopeta");
40        kohta2.Position = new Vector(0, -40);
41        valikonKohdat.Add(kohta2);
42
43        foreach (Label valikonKohta in valikonKohdat)
44        {
45            Add(valikonKohta);
46        }
47
48        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
49        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null);
50
51        Mouse.IsCursorVisible = true;
52        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null);
53        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "");
54
55    }
56    void ValikossaLiikkuminen(AnalogState Hiirentila)
57    {
58        foreach (Label kohta in valikonKohdat)
59        {
60            if (Mouse.IsCursorOn(kohta))
61            {
62                kohta.TextColor = Color.Red;
63            }
64            else
65            {
66                kohta.TextColor = Color.Black;
67            }
68        }
69    }
70
71    void AloitaPeli()
72    {
73        ClearAll();
74        // Tähän tulee kaikki kentän luomiset ym. alustukset...
75       
76        Camera.ZoomToLevel();
77        Level.Background.Image = taustakuva;
78        Level.Background.FitToLevel();
79        Level.CreateBorders();
80        alus1 = new PhysicsObject(50.0, 50.0);
81        alus2 = new PhysicsObject(50.0, 50.0);
82        alus1.X = 300;
83        alus1.Y = 150;
84        alus2.X = 150;
85        alus2.Y = 300;
86        alus1.Image = olionkuva;
87        alus2.Image = olionkuva2;
88        alus1.AngularDamping = 0.50;
89        alus2.AngularDamping = 0.50;
90        alus1.Restitution = 0.2;
91        alus2.Restitution = 0.2;
92       
93        Add(alus1);
94        Add(alus2);
95        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon");
96        Keyboard.Listen(Key.Up, ButtonState.Down, kiihdytaalus, "Kiihdytä alusta 1", alus1);
97        Keyboard.Listen(Key.Up, ButtonState.Released, ajaalus, null, alus1);
98        Keyboard.Listen(Key.Left, ButtonState.Down, kaannaalus, "Käännä alusta 1 Vasemmalle.", alus1);
99        Keyboard.Listen(Key.Right, ButtonState.Down, kaannaalus2, "Käännä alusta 1 Oikealle.", alus1);
100        Keyboard.Listen(Key.A, ButtonState.Down, kaannaalus3, "Käännä alusta 2 Vasemmalle.", alus2);
101        Keyboard.Listen(Key.W, ButtonState.Down, kiihdytaalus2, "Kiihdytä alusta 2", alus2);
102        Keyboard.Listen(Key.W, ButtonState.Released, ajaalus2, null, alus2);
103        Keyboard.Listen(Key.D, ButtonState.Down, kaannaalus4, "Käännä alusta Oikealle.", alus2);
104    }
105    void kiihdytaalus(PhysicsObject alus)
106    {
107        alus.Image = kiihdytys1;
108        Vector voima = Vector.FromLengthAndAngle(1000, alus.Angle);
109        alus.Push(voima);
110    }
111
112    void ajaalus(PhysicsObject alus)
113    {
114        alus.Image = olionkuva;
115    }
116    void kaannaalus(PhysicsObject alus)
117    {
118        alus.Angle += Angle.FromDegrees(5);
119     
120    }
121    void kaannaalus2(PhysicsObject alus)
122    {
123        alus.Angle -= Angle.FromDegrees(5);
124    }
125    void kaannaalus3(PhysicsObject alus2)
126    {
127        alus2.Angle += Angle.FromDegrees(5);
128    }
129
130        void kaannaalus4(PhysicsObject alus2)
131    {
132        alus2.Angle -= Angle.FromDegrees(5);
133    }
134    void ajaalus2(PhysicsObject alus2)
135    {
136        alus2.Image = olionkuva2;
137    }
138    void kiihdytaalus2(PhysicsObject alus2)
139    {
140        alus2.Image = kiihdytys2;
141        Vector voima = Vector.FromLengthAndAngle(1000, alus2.Angle);
142        alus2.Push(voima);
143    }
144
145}
Note: See TracBrowser for help on using the repository browser.