- Timestamp:
- 2010-07-09 13:09:10 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/27/oteehann/tank wars/Peli.cs
r1197 r1242 4 4 using Jypeli.Assets; 5 5 6 /// <summary> 7 /// Otto H. 8 /// </summary> 6 9 public class Peli : PhysicsGame 7 10 { … … 9 12 Tank tankki2; 10 13 14 11 15 protected override void Begin() 12 16 { 13 17 Image tekstuuri = LoadImage("maantausta"); 14 18 int maastonVaihtelu = 20; 15 Level.CreateGround(20, 60,17, Color.Black, tekstuuri, maastonVaihtelu);19 Level.CreateGround(20,70,20, Color.Black, tekstuuri, maastonVaihtelu); 16 20 Gravity = new Vector(0.0, -500.0); 21 22 Grenade grenade = new Grenade(50.0); 23 24 Add(grenade); 25 26 grenade.FuseTime = TimeSpan.FromSeconds(3); 27 28 Grenade grenade2 = new Grenade(50.0); 29 Add(grenade2); 30 31 grenade2.FuseTime = TimeSpan.FromSeconds(3); 32 33 34 ClusterGrenade kranaatti = new ClusterGrenade(4.0, 4); 35 kranaatti.NumberOfClusters = 5; 36 37 Add(kranaatti); 38 39 40 41 17 42 18 43 … … 22 47 LuoTankki2(); 23 48 LisaaNappaimet(); 24 } 49 LuoLaskuri(); 50 LuoLaskuri2(); 51 } 52 53 void HeitaKranaatti(PhysicsObject tankki) 54 { 55 Grenade kranaatti = new Grenade(10.0); 56 kranaatti.Destroyed += delegate() { kranaatti_Destroyed(kranaatti); }; 57 kranaatti.Tag = tankki; 58 kranaatti.X = tankki.X + 10; 59 kranaatti.Y = tankki.Y + 10; 60 Add(kranaatti); 61 Vector heittoVoima = Vector.FromLengthAndAngle(9000, Angle.Degrees(25)); 62 kranaatti.Hit(heittoVoima); 63 AddCollisionHandler(kranaatti,KasitteleKranaatinTormays); 64 65 } 66 67 void kranaatti_Destroyed(Grenade kranaatti) 68 { 69 if (Vector.Distance(kranaatti.Position, tankki2.Position) < 200 && kranaatti.Tag == tankki) 70 { 71 pisteLaskuri.Value++; 72 } 73 74 if (Vector.Distance(kranaatti.Position, tankki.Position) < 200 && kranaatti.Tag == tankki2) 75 { 76 pisteLaskuri2.Value++; 77 } 78 } 79 void KasitteleKranaatinTormays(PhysicsObject kranaatti, PhysicsObject kohde) 80 { 81 //kasittelekranaatintormays,tormayksestatuleePiste 82 /* 83 if (kohde == tankki && kranaatti.Tag == tankki2) 84 { 85 pisteLaskuri.Value++; 86 } 87 if (kohde == tankki2 && kranaatti.Tag == tankki) 88 { 89 pisteLaskuri2.Value++; 90 } 91 */ 92 } 93 void HeitaKranaatti2(PhysicsObject tankki) 94 { 95 Grenade kranaatti2 = new Grenade(10.0); 96 kranaatti2.Destroyed += delegate() { kranaatti_Destroyed(kranaatti2); }; 97 kranaatti2.Tag = tankki; 98 kranaatti2.X = tankki.X - 30; 99 kranaatti2.Y = tankki.Y + 20; 100 Add(kranaatti2); 101 Vector heittoVoima = Vector.FromLengthAndAngle(10000, Angle.Degrees(30)); 102 kranaatti2.Hit(heittoVoima); 103 AddCollisionHandler(kranaatti2,KasitteleKranaatin2Tormays); 104 105 } 106 void KasitteleKranaatin2Tormays(PhysicsObject kranaatti2, PhysicsObject kohde) 107 { 108 //kasittelekranaatin2tormays,tormayksestatuleePiste 109 110 } 111 112 113 25 114 26 115 void LuoTankki() … … 28 117 tankki = new Tank(40, 20); 29 118 30 tankki.Position = new Vector( 0, Level.Bottom + 70);119 tankki.Position = new Vector(-350, Level.Bottom + 90); 31 120 tankki.Mass = 100.0; 32 121 … … 43 132 { 44 133 tankki2 = new Tank(40.0, 20.0); 45 tankki2.Position = new Vector( 70, Level.Bottom + 70);134 tankki2.Position = new Vector(350, Level.Bottom + 90); 46 135 tankki2.Mass = 100.0; 47 136 tankki2.Image = LoadImage("tankki2"); 48 tankki2.Cannon.CannonBallCollision = Ammus Osuu;137 tankki2.Cannon.CannonBallCollision = Ammus2Osuu; 49 138 Add(tankki2); 50 139 … … 55 144 { 56 145 pisteLaskuri = new IntMeter(0); 146 pisteLaskuri.MaxValue = 10; 147 pisteLaskuri.UpperLimit += laskuriYlarajassa; 57 148 58 149 Label pisteNaytto = new Label(); 59 pisteNaytto.X = Screen.Left + 1 00;60 pisteNaytto.Y = Screen.Top - 100;61 pisteNaytto.TextColor = Color. Red;150 pisteNaytto.X = Screen.Left + 150; 151 pisteNaytto.Y = Screen.Top - 50; 152 pisteNaytto.TextColor = Color.Black; 62 153 pisteNaytto.BindTo(pisteLaskuri); 63 154 Add(pisteNaytto); 64 pisteNaytto.BindTo(pisteLaskuri);65 Add(pisteNaytto);66 155 67 156 Label pisteTeksti = new Label("Pisteitä: "); 68 pisteTeksti.X = Screen.Left + 50;69 pisteTeksti.Y = Screen.Top - 100;70 pisteTeksti.TextColor = Color. Red;157 pisteTeksti.X = Screen.Left + 100; 158 pisteTeksti.Y = Screen.Top - 50; 159 pisteTeksti.TextColor = Color.Black; 71 160 Add(pisteTeksti); 72 161 73 pisteLaskuri.Value++; 74 pisteLaskuri.Value += 1; 75 pisteLaskuri.Value = pisteLaskuri.Value + 1; 76 77 IntMeter laskuri = new IntMeter(0); 78 laskuri.MaxValue = 10; 79 laskuri.UpperLimit += laskuriYlarajassa; 80 } 81 82 void laskuriYlarajassa(int arvo) 83 { 84 MessageDisplay.TextColor = Color.White; 162 163 164 165 166 } 167 void laskuriYlarajassa(int arvo) 168 { 169 170 MessageDisplay.TextColor = Color.Black; 85 171 MessageDisplay.Add("Pelaaja 1 voitti pelin."); 86 MessageDisplay.TextColor = Color.White; 172 pisteLaskuri.Reset(); 173 174 175 } 176 177 IntMeter pisteLaskuri2; 178 179 void LuoLaskuri2() 180 { 181 pisteLaskuri2 = new IntMeter(0); 182 pisteLaskuri2.MaxValue = 10; 183 pisteLaskuri2.UpperLimit += laskuriYlarajassa2; 184 185 Label pisteNaytto2 = new Label(); 186 pisteNaytto2.X = Screen.Right - 100; 187 pisteNaytto2.Y = Screen.Top - 50; 188 pisteNaytto2.TextColor = Color.Black; 189 pisteNaytto2.BindTo(pisteLaskuri2); 190 Add(pisteNaytto2); 191 192 193 194 Label pisteTeksti2 = new Label("Pisteitä: "); 195 pisteTeksti2.X = Screen.Right - 150; 196 pisteTeksti2.Y = Screen.Top - 50; 197 pisteTeksti2.TextColor = Color.Black; 198 Add(pisteTeksti2); 199 } 200 201 void laskuriYlarajassa2(int arvo) 202 { 203 204 MessageDisplay.TextColor = Color.Black; 87 205 MessageDisplay.Add("Pelaaja 2 voitti pelin."); 88 89 90 } 91 92 93 94 95 206 pisteLaskuri2.Reset(); 207 208 209 } 210 211 void LisaaNappaimet() 212 { 213 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle.", 1.0, tankki); 214 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle.", -1.0, tankki); 215 Keyboard.Listen(Key.Up, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia ylos.", tankki, Angle.Radians(1.0)); 216 Keyboard.Listen(Key.Down, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia alas.", tankki, Angle.Radians(-1.0)); 217 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Ammu, "Ammu aseella.", tankki); 218 Keyboard.Listen(Key.Delete, ButtonState.Pressed, HeitaKranaatti, "Heita kranaatti.",tankki); 219 220 Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle.", 1.0, tankki2); 221 Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle.", -1.0, tankki2); 222 Keyboard.Listen(Key.W, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia ylos.", tankki2, Angle.Radians(1.0)); 223 Keyboard.Listen(Key.S, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia alas.", tankki2, Angle.Radians(-1.0)); 224 Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu aseella.", tankki2); 225 Keyboard.Listen(Key.F, ButtonState.Pressed, HeitaKranaatti2, "Heita kranaatti.",tankki2); 226 } 96 227 97 98 99 100 void LisaaNappaimet()101 {102 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", 1.0, tankki);103 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", -1.0, tankki);104 Keyboard.Listen(Key.Up, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia ylos", tankki, Angle.Radians(1.0));105 Keyboard.Listen(Key.Down, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia alas", tankki, Angle.Radians(-1.0));106 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Ammu, "Ammu aseella.", tankki);107 108 Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", 1.0, tankki2);109 Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", -1.0, tankki2);110 Keyboard.Listen(Key.W, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia ylos", tankki2, Angle.Radians(1.0));111 Keyboard.Listen(Key.S, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia alas", tankki2, Angle.Radians(-1.0));112 Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu aseella.", tankki2);113 }114 115 116 117 118 119 120 228 void MuutaTykinKulmaa(Tank tank, Angle kulma) 121 229 { … … 146 254 rajahdys.Position = ammus.Position; 147 255 rajahdys.Speed = 700.0; 148 rajahdys.Force = 1000.0;256 rajahdys.Force = 900.0; 149 257 rajahdys.ShockwaveColor = Color.OrangeRed; 150 258 Add(rajahdys); 151 259 ammus.Destroy(); 260 261 if (kohde == tankki2) 262 { 263 pisteLaskuri.Value++; 264 } 152 265 //AddCollisionHandler(ammus, KasitteleammuksenTormays,tormayksestatuleePiste); 153 266 } … … 157 270 rajahdys2.Position = ammus2.Position; 158 271 rajahdys2.Speed = 700.0; 159 rajahdys2.Force = 1000.0;272 rajahdys2.Force = 900.0; 160 273 rajahdys2.ShockwaveColor = Color.OrangeRed; 161 274 Add(rajahdys2); 162 275 ammus2.Destroy(); 163 //AddCollisionHandler(ammus2, KasitteleammuksenTormays,tormayksestatuleePiste); 164 } 276 277 if (kohde == tankki) 278 { 279 pisteLaskuri2.Value++; 280 } 281 //AddCollisionHandler(ammus2, KasitteleammuksenTormays2,tormayksestatuleePiste); 282 } 283 284 165 285 166 286
Note: See TracChangeset
for help on using the changeset viewer.