source: 2016/24/ArttuH/anythin/anythin/anythin/anythin.cs @ 7411

Revision 7411, 6.9 KB checked in by armahiek, 3 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 anythin : PhysicsGame
10{
11    PhysicsObject Player1;
12    LaserGun Zapper0;
13    LaserGun Zapper1;
14    LaserGun Zapper2;
15    LaserGun Zapper3;
16    LaserGun Zapper4;
17    Image playerim = LoadImage("rocket2");
18    Image Asteroid10 = LoadImage("asteroid");
19    Image Asteroid20 = LoadImage("aasteroid");
20    Image Asteroid30 = LoadImage("Aaasteroid");
21    Image Asteroid40 = LoadImage("aaaasteroid");
22    IntMeter Killer;
23
24    public override void Begin()
25    {
26
27        Assets(); //enemies
28        Things(); //Players n stuff
29        Controll(); //Controls
30        Timee();
31        redo();
32
33        Level.Background.CreateStars(30000);
34        IsFullScreen = false;
35       
36
37    }
38    void Things()
39    {
40        //Creating Player
41        Player1 = new PhysicsObject(50.0, 30.0);
42        Player1.Mass = 0.10;
43        Player1.MomentOfInertia = 50;
44        Player1.IgnoresGravity = true;
45        Player1.MaxAngularVelocity = 10;
46        Player1.LinearDamping = 0.95;
47        Player1.AngularDamping = 0.90;
48        Player1.Image = playerim;
49        Player1.Shape = Shape.Circle;
50        Add(Player1);
51        AddCollisionHandler(Player1, Something);
52
53        //Creating Guns
54        //Laser 1
55        Zapper0 = new LaserGun(0, 0);
56        Zapper0.InfiniteAmmo = true;
57        Zapper0.ProjectileCollision = Hits;
58        Zapper0.CanHitOwner = false;
59        Zapper0.Image = null;
60        Zapper0.FireRate = 1.0;
61        Player1.Add(Zapper0);
62        //Laser 2
63        Zapper1 = new LaserGun(0, 0);
64        Zapper1.InfiniteAmmo = true;
65        Zapper1.ProjectileCollision = Hits;
66        Zapper1.CanHitOwner = false;
67        Zapper1.Image = null;
68        Zapper1.FireRate = 1.0;
69        Zapper1.Angle += Angle.FromDegrees(5);
70        Player1.Add(Zapper1);
71        //Laser 3
72        Zapper2 = new LaserGun(0, 0);
73        Zapper2.InfiniteAmmo = true;
74        Zapper2.ProjectileCollision = Hits;
75        Zapper2.CanHitOwner = false;
76        Zapper2.Image = null;
77        Zapper2.FireRate = 1.0;
78        Zapper2.Angle += Angle.FromDegrees(-5);
79        Player1.Add(Zapper2);
80        //Laser 4
81        Zapper3 = new LaserGun(0, 0);
82        Zapper3.InfiniteAmmo = true;
83        Zapper3.ProjectileCollision = Hits;
84        Zapper3.CanHitOwner = false;
85        Zapper3.Image = null;
86        Zapper3.FireRate = 1.0;
87        Zapper3.Angle += Angle.FromDegrees(10);
88        Player1.Add(Zapper3);
89        //Laser 5
90        Zapper4 = new LaserGun(0, 0);
91        Zapper4.InfiniteAmmo = true;
92        Zapper4.ProjectileCollision = Hits;
93        Zapper4.CanHitOwner = false;
94        Zapper4.Image = null;
95        Zapper4.FireRate = 1.0;
96        Zapper4.Angle += Angle.FromDegrees(-10);
97        Player1.Add(Zapper4);
98
99    }
100    void Hits(PhysicsObject Laser, PhysicsObject Target)
101    {   //laser hit detection
102        Laser.Destroy();
103        Target.Destroy();
104        Killer.Value += 1;
105    }
106
107    void Something(PhysicsObject Car, PhysicsObject Target)
108    {
109        Car.Destroy();
110        MessageDisplay.Add("R.I.P");
111    }
112    void Assets()
113    {
114
115
116        //Random generators
117        Vector RandomPoint = Level.GetRandomPosition();
118        Vector Randompoint2 = Level.GetRandomPosition();
119        Vector Randompoint1 = Level.GetRandomPosition();
120        Vector voima = Vector.FromLengthAndAngle(RandomGen.NextDouble(1.0, 300.0), RandomGen.NextAngle());
121        Vector voima1 = Vector.FromLengthAndAngle(RandomGen.NextDouble(1.0, 300.0), RandomGen.NextAngle());
122
123
124        //Asteroids
125        PhysicsObject Asteroid1 = new PhysicsObject(100.0, 100.0);
126        Asteroid1.Mass = 1.0;
127        Asteroid1.Position = RandomPoint;
128        Asteroid1.Image = Asteroid10;
129        Asteroid1.Shape = Shape.Hexagon;
130        Asteroid1.Tag = "Target";
131        Asteroid1.Velocity = voima;
132        RandomGen.NextDirection();
133        Add(Asteroid1);
134
135        PhysicsObject Asteroid2 = new PhysicsObject(100.0, 100.0);
136        Asteroid2.Mass = 1.0;
137        Asteroid2.Image = Asteroid30;
138        Asteroid2.Shape = Shape.Hexagon;
139        Asteroid2.Position = Randompoint2;
140        Asteroid2.Tag = "Target";
141        Asteroid2.Velocity = voima;
142        RandomGen.NextDirection();
143        Add(Asteroid2);
144
145        PhysicsObject Asteroid3 = new PhysicsObject(100.0, 100.0);
146        Asteroid3.Mass = 1.0;
147        Asteroid3.Image = Asteroid30;
148        Asteroid3.Shape = Shape.Hexagon;
149        Asteroid3.Position = Randompoint1;
150        Asteroid3.Tag = "Target";
151        Asteroid3.Velocity = voima1;
152        RandomGen.NextDirection();
153        Add(Asteroid3);
154    }
155    void Timee()
156    {
157        Timer Timr = new Timer();
158        Timr.Interval = 3;
159        Timr.Timeout += Assets;
160        Timr.Start(100);
161
162        Label aikaNaytto = new Label();
163        aikaNaytto.TextColor = Color.White;
164        aikaNaytto.X = Screen.Left + 100;
165        aikaNaytto.Y = Screen.Top - 100;
166        aikaNaytto.DecimalPlaces = 1;
167       
168        aikaNaytto.BindTo(Timr.SecondCounter);
169   
170        Add(aikaNaytto);
171    }
172    void redo()
173    {
174        Killer = new IntMeter(0);
175
176        Label Kills = new Label();
177        Kills.BindTo(Killer);
178        Kills.X = Screen.Right - 100;
179        Kills.Y = Screen.Top - 100;
180        Kills.TextColor = Color.LightGreen;
181        Add(Kills);
182    }
183    void Controll()
184    {
185        //Controls
186        Keyboard.Listen(Key.W, ButtonState.Down, MoveSomewhere1, null);
187        Keyboard.Listen(Key.S, ButtonState.Down, MoveSomewhere2, null);
188        Keyboard.Listen(Key.A, ButtonState.Down, RotateSomewhere1, null);
189        Keyboard.Listen(Key.D, ButtonState.Down, RotateSomewhere2, null);
190        Keyboard.Listen(Key.Space, ButtonState.Down, Shoot1, null, Zapper0);
191        Keyboard.Listen(Key.Space, ButtonState.Down, Shoot1, null, Zapper1);
192        Keyboard.Listen(Key.Space, ButtonState.Down, Shoot1, null, Zapper2);
193        Keyboard.Listen(Key.Space, ButtonState.Down, Shoot1, null, Zapper3);
194        Keyboard.Listen(Key.Space, ButtonState.Down, Shoot1, null, Zapper4);
195        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
196    }
197    void Shoot1(LaserGun Gun) 
198    {
199        PhysicsObject Laser = Gun.Shoot();
200    }
201    void Shoot2(PlasmaCannon Gun)
202    {
203        PhysicsObject Plasma = Gun.Shoot();
204    }
205    void MoveSomewhere1()
206    {
207        Vector Forward = Vector.FromLengthAndAngle(100.0, Player1.Angle);
208        Player1.Push(Forward);
209    }
210    void MoveSomewhere2()
211    {
212        Vector Backwards = Vector.FromLengthAndAngle(-75.0, Player1.Angle);
213        Player1.Push(Backwards);
214    }
215    void RotateSomewhere1()
216    {
217        Player1.ApplyTorque(1250.0);
218    }
219    void RotateSomewhere2()
220    {
221        Player1.ApplyTorque(-1250.0);
222    }
223
224}
225
Note: See TracBrowser for help on using the repository browser.