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

Revision 2302, 5.6 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    Image taustakuva2 = LoadImage("Space 1");
14    List<Label> valikonKohdat;
15    PhysicsObject alus1;
16    PhysicsObject alus2;
17    Image olionkuva = LoadImage("alus1");
18    Image olionkuva2 = LoadImage("alus2");
19    Image kiihdytys1 = LoadImage("alus1_kaasuttaa");
20    Image kiihdytys2 = LoadImage("alus2_kaasuttaa");
21    Image plasma_ammus1 = LoadImage("plasma");
22    Image plasma_ammus2 = LoadImage("plasma2");
23    AssaultRifle Plasma1;
24    AssaultRifle Plasma2;
25    public override void Begin()
26    {
27        // TODO: Kirjoita ohjelmakoodisi tähän
28        Valikko();
29       
30    }
31
32    void Valikko()
33    {
34        ClearAll();
35        valikonKohdat = new List<Label>();
36
37        IsFullScreen = true;
38        Level.Background.Image = taustakuva;
39        Level.Background.FitToLevel();
40        Camera.ZoomToLevel();
41
42        Label kohta1 = new Label("Aloita uusi peli");
43        kohta1.Position = new Vector(0, -80);
44        valikonKohdat.Add(kohta1);
45
46        Label kohta2 = new Label("Lopeta");
47        kohta2.Position = new Vector(0, -160);
48        valikonKohdat.Add(kohta2);
49
50        foreach (Label valikonKohta in valikonKohdat)
51        {
52            Add(valikonKohta);
53        }
54
55        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
56        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null);
57
58        Mouse.IsCursorVisible = true;
59        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null);
60        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "");
61
62    }
63    void ValikossaLiikkuminen(AnalogState Hiirentila)
64    {
65        foreach (Label kohta in valikonKohdat)
66        {
67            if (Mouse.IsCursorOn(kohta))
68            {
69                kohta.TextColor = Color.Red;
70            }
71            else
72            {
73                kohta.TextColor = Color.White;
74                kohta.Font = Font.DefaultLargeBold;
75            }
76        }
77    }
78
79    void AloitaPeli()
80    {
81        ClearAll();
82        // Tähän tulee kaikki kentän luomiset ym. alustukset...
83       
84        Camera.ZoomToLevel();
85        Level.Background.Image = taustakuva2;
86        Level.Background.FitToLevel();
87        Level.CreateBorders();
88        alus1 = new PhysicsObject(50.0, 50.0);
89        alus2 = new PhysicsObject(50.0, 50.0);
90        alus1.X = 300;
91        alus1.Y = 150;
92        alus2.X = 150;
93        alus2.Y = 300;
94        alus1.Image = olionkuva;
95        alus2.Image = olionkuva2;
96        alus1.AngularDamping = 0.50;
97        alus2.AngularDamping = 0.50;
98        alus1.Restitution = 0.2;
99        alus2.Restitution = 0.2;
100
101        Plasma1 = new AssaultRifle(20, 5);
102        Plasma2 = new AssaultRifle(20, 5);
103        alus1.Add(Plasma1);
104        alus2.Add(Plasma2);
105
106        Add(alus1);
107        Add(alus2);
108        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon");
109        Keyboard.Listen(Key.Up, ButtonState.Down, kiihdytaalus, "Kiihdytä alusta 1", alus1);
110        Keyboard.Listen(Key.Up, ButtonState.Released, ajaalus, null, alus1);
111        Keyboard.Listen(Key.Left, ButtonState.Down, kaannaalus, "Käännä alusta 1 Vasemmalle.", alus1);
112        Keyboard.Listen(Key.Right, ButtonState.Down, kaannaalus2, "Käännä alusta 1 Oikealle.", alus1);
113        Keyboard.Listen(Key.A, ButtonState.Down, kaannaalus3, "Käännä alusta 2 Vasemmalle.", alus2);
114        Keyboard.Listen(Key.W, ButtonState.Down, kiihdytaalus2, "Kiihdytä alusta 2", alus2);
115        Keyboard.Listen(Key.W, ButtonState.Released, ajaalus2, null, alus2);
116        Keyboard.Listen(Key.D, ButtonState.Down, kaannaalus4, "Käännä alusta Oikealle.", alus2);
117        Keyboard.Listen(Key.RightShift, ButtonState.Down, AmmuAseella, "Ammu pelaajan 1 asetta", Plasma1);
118        // Keyboard.Listen(Key.LeftShift, ButtonState.Down, AmmuAseella, "Ammu Pelaajan 2 asetta");
119
120
121       
122    }
123    void kiihdytaalus(PhysicsObject alus)
124    {
125        alus.Image = kiihdytys1;
126        Vector voima = Vector.FromLengthAndAngle(1000, alus.Angle);
127        alus.Push(voima);
128    }
129
130    void ajaalus(PhysicsObject alus)
131    {
132        alus.Image = olionkuva;
133    }
134    void kaannaalus(PhysicsObject alus)
135    {
136        alus.Angle += Angle.FromDegrees(5);
137     
138    }
139    void kaannaalus2(PhysicsObject alus)
140    {
141        alus.Angle -= Angle.FromDegrees(5);
142    }
143    void kaannaalus3(PhysicsObject alus2)
144    {
145        alus2.Angle += Angle.FromDegrees(5);
146    }
147
148        void kaannaalus4(PhysicsObject alus2)
149    {
150        alus2.Angle -= Angle.FromDegrees(5);
151    }
152    void ajaalus2(PhysicsObject alus2)
153    {
154        alus2.Image = olionkuva2;
155    }
156    void kiihdytaalus2(PhysicsObject alus2)
157    {
158        alus2.Image = kiihdytys2;
159        Vector voima = Vector.FromLengthAndAngle(1000, alus2.Angle);
160        alus2.Push(voima);
161    }
162    void AmmuAseella(Weapon Plasma1)
163    {
164        PhysicsObject ammus = Plasma1.Shoot();
165
166       
167
168        if (ammus != null)
169        {
170            ammus.Size *= 3;
171            ammus.Image = plasma_ammus1;
172            Plasma1.Ammo.Value = 3000;
173            Plasma1.ProjectileCollision = AmmusOsui;
174        }
175    }
176    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
177    {
178        ammus.Destroy();
179        Explosion rajahdys = new Explosion(15);
180        rajahdys.Position = ammus.Position;
181        Add(rajahdys);
182    }
183
184}
Note: See TracBrowser for help on using the repository browser.