source: 2012/27/EemilK/Survive untill U die!/Survive untill U die!/Survive untill U die!/Survive_untill_U_die_.cs @ 3548

Revision 3548, 5.5 KB checked in by eekrkolu, 10 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 Survive_untill_U_die_ : PhysicsGame
10{
11    Vector oikealle = new Vector(100, 0);
12    Vector vasemmalle = new Vector(-100, 0);
13    Vector ylos = new Vector(0, 1);
14    PhysicsObject vihollinen;
15    PhysicsObject enemy;
16    PhysicsObject pallo;
17    PhysicsObject pallo2;
18    AssaultRifle pyssy;
19    AssaultRifle pyssy2;
20
21    Image kuva = LoadImage("lawn_summer_rf_0001_large");
22    public override void Begin()
23    {
24        int i = 0;
25        while (i < 50)
26        {
27            LuoPalloja(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Top, 300));
28            i++;
29            LuoPallot(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Top, 300));
30            i++;
31        }
32
33
34        pyssy = new AssaultRifle(20, 20);
35        pyssy.InfiniteAmmo = true;
36        pyssy2 = new AssaultRifle(20, 20);
37        pyssy2.Angle = Angle.RightAngle;
38        pyssy2.InfiniteAmmo = true;
39        Level.Background.Image = kuva;
40
41        // Pelaaja 1 (vasemman puoleinen)
42        pallo = PhysicsObject.CreateStaticObject(170, 170);
43        pallo.Shape = Shape.Circle;
44        pallo.Image = LoadImage("p1");
45        pallo.Angle = Angle.RightAngle;
46        pallo.RotateImage = false;
47        pallo.Tag = "pallo";
48        pallo.X = -240;
49        pallo.Y = -200;
50        Add(pallo);
51        pallo.Add(pyssy);
52
53        // Pelaaja 2 (oikean puoleinen)
54        pallo2 = PhysicsObject.CreateStaticObject(170, 170);
55        pallo2.Shape = Shape.Circle;
56        pallo2.Image = LoadImage("p2");
57        pallo2.Tag = "pallo2";
58        pallo2.X = 240;
59        pallo2.Y = -200;
60        Add(pallo2);
61        pallo2.Add(pyssy2);
62
63        Level.CreateBorders();
64        Camera.ZoomToLevel();
65        Keyboard.Listen(Key.D, ButtonState.Down, Liiku, "pelaaja1: oikealle", pallo, oikealle);
66        Keyboard.Listen(Key.D, ButtonState.Released, Liiku, null, pallo, Vector.Zero);
67        Keyboard.Listen(Key.A, ButtonState.Down, Liiku2, "pelaaja1: vasemmalle", pallo, vasemmalle);
68        Keyboard.Listen(Key.A, ButtonState.Released, Liiku2, null, pallo, Vector.Zero);
69        Keyboard.Listen(Key.Right, ButtonState.Down, Liiku3, "pelaaja2: oikealle", pallo2, oikealle);
70        Keyboard.Listen(Key.Right, ButtonState.Released, Liiku3, null, pallo2, Vector.Zero);
71        Keyboard.Listen(Key.Left, ButtonState.Down, Liiku4, "pelaaja2: vasemmalle", pallo2, vasemmalle);
72        Keyboard.Listen(Key.Left, ButtonState.Released, Liiku4, null, pallo2, Vector.Zero);
73        Keyboard.Listen(Key.W, ButtonState.Down, AmmuAseella, "pelaaja1: Ammu");
74        Keyboard.Listen(Key.Up, ButtonState.Down, AmmuAseella2, "pelaaja2: Ammu");
75        Keyboard.Listen(Key.Q, ButtonState.Down, heitaKranu, "pelaaja1: heitä Kranu");
76
77        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
78        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
79    }
80    void LuoPalloja(double x, double y)
81    {
82        vihollinen = new PhysicsObject(70, 70);
83        vihollinen.Shape = Shape.Circle;
84        vihollinen.Image = LoadImage("nazi");
85        vihollinen.X = x;
86        vihollinen.Y = y;
87        vihollinen.Restitution = 1.0;
88        Add(vihollinen);
89
90        FollowerBrain aivot = new FollowerBrain("pallo");
91        vihollinen.Brain = aivot;
92        aivot.Active = true;
93        aivot.Speed = 10;
94
95    }
96    void LuoPallot(double x, double y)
97    {
98        enemy = new PhysicsObject(70, 70);
99        enemy.Shape = Shape.Circle;
100        enemy.Image = LoadImage("nazi");
101        enemy.X = x;
102        enemy.Y = y;
103        enemy.Restitution = 1.0;
104        Add(enemy);
105
106        FollowerBrain aivot2 = new FollowerBrain("pallo2");
107        enemy.Brain = aivot2;
108        aivot2.Active = true;
109        aivot2.Speed = 10;
110
111    }
112
113    void Liiku(PhysicsObject pallo, Vector oikealle)
114    {
115        if (oikealle == Vector.Zero)
116        {
117            pallo.Velocity = Vector.Zero;
118            return;
119        }
120        pallo.Velocity = oikealle;
121    }
122    void Liiku2(PhysicsObject pallo, Vector vasemmalle)
123    {
124        if (vasemmalle == Vector.Zero)
125        {
126            pallo.Velocity = Vector.Zero;
127            return;
128        }
129        pallo.Velocity = vasemmalle;
130    }
131    void Liiku3(PhysicsObject pallo2, Vector oikealle)
132    {
133        if (oikealle == Vector.Zero)
134        {
135            pallo2.Velocity = Vector.Zero;
136            return;
137        }
138        pallo2.Velocity = oikealle;
139    }
140    void Liiku4(PhysicsObject pallo2, Vector vasemmalle)
141    {
142        if (vasemmalle == Vector.Zero)
143        {
144            pallo2.Velocity = Vector.Zero;
145            return;
146
147        }
148        pallo2.Velocity = vasemmalle;
149    }
150    void AmmuAseella()
151    {
152        PhysicsObject panos = pyssy.Shoot();
153
154        if (panos != null)
155        {
156            panos.Size *= 3;
157            AddCollisionHandler(panos, CollisionHandler.DestroyObject);
158        }
159    }
160    void AmmuAseella2()
161    {
162
163        PhysicsObject ammus2 = pyssy2.Shoot();
164        if (ammus2 != null)
165        {
166            ammus2.Size *= 3;
167            AddCollisionHandler(ammus2, CollisionHandler.DestroyObject);
168        }
169    }
170
171
172    void heitaKranu()
173    {
174        Grenade kranaatti;
175        kranaatti = new Grenade(4.0);
176        kranaatti.Angle = Angle.RightAngle;
177        pallo.Throw(kranaatti, Angle.Zero, 500);
178
179    }
180}
181
182
Note: See TracBrowser for help on using the repository browser.