source: 2017/30/HugoE/HanniAndHoo/HanniAndHoo/HanniAndHoo/HanniAndHoo.cs @ 9119

Revision 9119, 4.0 KB checked in by npo17_65, 2 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 HanniAndHoo : PhysicsGame
10{
11     Image HanninKuva = LoadImage("Hanni");
12     Image HoonKuva = LoadImage("Hoo");
13
14    AssaultRifle HanninAse;
15
16    Cannon HoonAse;
17   
18
19   
20    PlatformCharacter Hanni;
21    PhysicsObject Hoo;
22   
23    public override void Begin()
24    {
25        LuoKentta();
26        LuoNappaimet();
27        LuoPelaajat();
28
29        AmmuAseella(HanninAse);
30        AmmuAseella2(HoonAse);
31
32
33
34
35
36
37    }
38
39    void LuoPelaajat()
40    {
41
42        Hanni = new PlatformCharacter(80.0, 80.0);
43        Hanni.X = Level.Left + 100.0;
44        Hanni.Y = 0.0;
45        Hanni.Shape = Shape.Circle;
46        Hanni.Color = Color.Blue;
47        Hanni.Image = HanninKuva;
48        Hanni.CanRotate = false;
49        Add(Hanni);
50        HanninAse = new AssaultRifle(60, 20);
51        HanninAse.ProjectileCollision = AmmusOsui;
52        HanninAse.X += 50;
53        Hanni.Add(HanninAse);
54
55               
56        Hoo = new PlatformCharacter (100.0, 100.0);
57        Hoo.X = Level.Right - 100.0;
58        Hoo.Y = 0.0;
59        Hoo.Shape = Shape.Circle;
60        Hoo.Color = Color.Red;
61        Hoo.Image = HoonKuva;
62        Hoo.CanRotate = false;
63        Add(Hoo);
64        HoonAse = new Cannon (90, 30);
65        HoonAse.ProjectileCollision = AmmusOsui;
66        HoonAse.X += 80;
67        Hoo.Add(HoonAse);
68        HoonAse.Power.DefaultValue = 20000;
69    }
70
71    void AmmusOsui(PhysicsObject Ammus, PhysicsObject Kohde)
72    {
73        Ammus.Destroy();
74
75    }
76    void LuoNappaimet()
77    {
78        Keyboard.Listen(Key.W, ButtonState.Pressed, LiikutaHannia, null, new Vector(0, 700));
79        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaHannia, null, new Vector(500.0, 0.0));
80        Keyboard.Listen(Key.D, ButtonState.Released, LiikutaHannia, null, new Vector(0, 0));
81        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaHannia, null, new Vector(-500, 0));
82        Keyboard.Listen(Key.A, ButtonState.Released, LiikutaHannia, null, new Vector(0, 0));
83
84
85        Keyboard.Listen(Key.Up, ButtonState.Pressed, LiikutaHoota, null, new Vector(0, 700));
86        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaHoota, null, new Vector(500.0, 0.0));
87        Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaHoota, null, new Vector(0, 0));
88        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaHoota, null, new Vector(-500, 0));
89        Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaHoota, null, new Vector(0, 0));
90
91
92
93        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
94
95    }
96    void LuoKentta()
97    {
98        Gravity = new Vector(0.0, -800.0);       
99        PhysicsObject AlaReuna = Level.CreateBottomBorder(0.0, false);
100        PhysicsObject OikeaReuna = Level.CreateRightBorder(0.0, false);
101        PhysicsObject VasenReuna = Level.CreateLeftBorder(0.0, false);
102        PhysicsObject YläReuna = Level.CreateTopBorder(0.0, false);
103
104
105    }
106
107
108
109    void LiikutaHannia(Vector vektori)
110    {
111        Hanni.Velocity = (vektori);
112       
113
114    }
115    void LiikutaHoota(Vector vektori)
116    {
117        Hoo.Velocity = (vektori);
118    }
119
120    void AmmuAseella(AssaultRifle HanninAse)
121    {
122        PhysicsObject Ammus = HanninAse.Shoot();
123        Keyboard.Listen(Key.S, ButtonState.Pressed, AmmuAseella, "Ammu", HanninAse);
124        HanninAse.FireRate = 0.25;
125
126        if (Ammus != null)
127        {
128            Ammus.Size *= 3;
129            Ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
130
131        }
132
133    }
134
135    void AmmuAseella2(Cannon HoonAse)
136    {
137        PhysicsObject Ammus = HoonAse.Shoot();
138        Keyboard.Listen(Key.Down, ButtonState.Pressed, AmmuAseella2, "Ammu2", HoonAse);
139        HoonAse.FireRate = 0.25;
140       
141
142        if (Ammus != null)
143        {
144            Ammus.Size *= 4;
145            Ammus.MaximumLifetime = TimeSpan.FromSeconds(4.0);
146
147        }
148
149
150
151    }
152
153
154
155}
Note: See TracBrowser for help on using the repository browser.