Changeset 8751
- Timestamp:
- 2017-06-15 15:10:16 (5 years ago)
- Location:
- 2017/24/TomasM
- Files:
-
- 150 added
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2017/24/TomasM/SpaceInvanders/SpaceInvanders/SpaceInvanders/SpaceInvanders.cs
r8682 r8751 11 11 IntMeter pistelaskuri; 12 12 PhysicsObject pelaaja; 13 PhysicsObject pelaaja2; 14 13 15 PhysicsObject Pahis; 14 16 public override void Begin() 15 17 { 16 18 // TODO: Kirjoita ohjelmakoodisi tähän 17 18 LuoPelaaja ();19 20 LuoPelaajat(); 19 21 LuoKentta(); 20 22 LuoPahis(); … … 29 31 LuoAikaLaskuri(); 30 32 AsetanNappaimet(); 31 33 32 34 IsMouseVisible = true; 33 35 34 36 35 36 37 38 39 40 41 42 }void LuoKentta() 43 { 44 Level.Width = Screen.Width; 37 38 39 40 41 42 43 44 } 45 void LuoKentta() 46 { 47 Level.Width = Screen.Width; 45 48 Level.Height = Screen.Height; 46 49 Level.CreateTopBorder(); … … 50 53 Level.Background.Image = LoadImage("tahtitaivas"); 51 54 Level.Background.Size = Screen.Size; 52 53 54 55 56 } 57 void LiikutaPelaajaa( Vector suunta)55 56 57 58 59 } 60 void LiikutaPelaajaa(PhysicsObject pelaaja, Vector suunta) 58 61 { 59 62 … … 61 64 pelaaja.Angle = suunta.Angle - Angle.RightAngle; 62 65 63 66 64 67 } 65 68 … … 67 70 void AsetanNappaimet() 68 71 { 69 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0)); 70 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0)); 71 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000)); 72 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000)); 73 74 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Tulta, null); 75 72 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(-1000, 0)); 73 Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(1000, 0)); 74 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, pelaaja,new Vector(0, 1000)); 75 Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(0, -1000)); 76 77 Keyboard.Listen(Key.J, ButtonState.Pressed, Tulta, null, pelaaja2, new Vector(-1000, 0)); 78 Keyboard.Listen(Key.L, ButtonState.Pressed, Tulta, null, pelaaja2, new Vector(1000, 0)); 79 Keyboard.Listen(Key.I, ButtonState.Pressed, Tulta, null, pelaaja2, new Vector(0, 1000)); 80 Keyboard.Listen(Key.K, ButtonState.Pressed, Tulta, null, pelaaja2, new Vector(0, -1000)); 81 82 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(-1000, 0)); 83 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(1000, 0)); 84 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, 1000)); 85 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, -1000)); 86 87 Keyboard.Listen(Key.F, ButtonState.Pressed, Tulta, null, pelaaja, new Vector(-1000, 0)); 88 Keyboard.Listen(Key.H, ButtonState.Pressed, Tulta, null, pelaaja, new Vector(1000, 0)); 89 Keyboard.Listen(Key.T, ButtonState.Pressed, Tulta, null, pelaaja, new Vector(0, 1000)); 90 Keyboard.Listen(Key.G, ButtonState.Pressed, Tulta, null, pelaaja, new Vector(0, -1000)); 91 92 Keyboard.Listen(Key.P, ButtonState.Pressed, PysaytaPeli, null); 93 Keyboard.Listen(Key.Z, ButtonState.Pressed, BOOM, null,pelaaja,pelaaja); 94 95 // Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Tulta, null); 96 Keyboard.Listen(Key.R, ButtonState.Pressed, Uusialoitus, null); 76 97 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 77 Gravity = new Vector(0.0, -4.0); 78 } 79 80 81 82 83 void LuoPelaaja() 84 { 85 pelaaja = new PhysicsObject(75.0, 75.0); 98 Gravity = new Vector(0.0, -1.0); 99 } 100 101 102 void LuoPelaajat() 103 { 104 pelaaja = LuoPelaaja(); 105 106 pelaaja2 = LuoPelaaja(); 107 } 108 PhysicsObject LuoPelaaja() 109 { 110 PhysicsObject pelaaja = new PhysicsObject(75.0, 75.0); 86 111 pelaaja.Image = LoadImage("avaruusalus"); 87 112 AddCollisionHandler(pelaaja, "pahapoika", BOOM); 88 113 pelaaja.Tag = "pelaaja"; 89 114 90 115 pelaaja.CollisionIgnoreGroup = 1; … … 94 119 95 120 96 97 98 } 99 121 return pelaaja; 122 123 } 124 125 100 126 void BOOM(PhysicsObject pelaaja, PhysicsObject pahis) 101 127 { 102 128 pelaaja.Destroy(); 103 IsPaused = true; 104 105 106 } 107 void LuoPahis() 129 Explosion rajahdys = new Explosion(900); 130 rajahdys.Position = pelaaja.Position; 131 Add(rajahdys); 132 133 } 134 135 void LuoPahis() 108 136 { // 109 137 //Pahis = new PhysicsObject(75.0, 75.0); … … 117 145 118 146 } 119 120 147 148 121 149 122 150 void LuoKlooni() … … 124 152 PhysicsObject asteroidi = new PhysicsObject(100.0, 100.0); 125 153 asteroidi.Image = LoadImage("Asteroidi"); 126 asteroidi.X = RandomGen.NextDouble(Level.Left,Level.Right); 127 asteroidi.Y = -RandomGen.NextDouble(Level.Top, Level.Bottom); 154 // do 155 //{ 156 // asteroidi.X = RandomGen.NextDouble(Level.Left, Level.Right); 157 // asteroidi.Y = -RandomGen.NextDouble(Level.Top, Level.Bottom); 158 //} while (Math.Abs(asteroidi.X - pelaaja.X) > 500 || Math.Abs(asteroidi.Y - pelaaja.Y) > 500); 159 160 Vector paikka; 161 do 162 { 163 paikka = RandomGen.NextVector(Level.Left, Level.Bottom, Level.Right, Level.Top); 164 } while (Vector.Distance(pelaaja.Position, paikka) < 200 || Vector.Distance(pelaaja2.Position, paikka) < 200); 165 asteroidi.Position = paikka; 166 128 167 asteroidi.Tag = "pahapoika"; 129 168 Add(asteroidi); 169 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 170 asteroidi.Brain = seuraajanAivot; 171 seuraajanAivot.Speed = 20.0; 130 172 131 173 } 132 174 void LuoPistelaskuri() 133 175 { 134 // pistelaskuri = new IntMeter(0);135 // Label pisteNaytto = new Label();136 // pisteNaytto.X = Screen.Left + 100;137 // pisteNaytto.Y = Screen.Top - 100;138 // pisteNaytto.TextColor = Color.Black;139 // pisteNaytto.Color = Color.White;140 // pisteNaytto.BindTo(pistelaskuri);141 // Add(pisteNaytto);142 // pistelaskuri.Value++;143 144 145 } 146 147 { 148 // PhysicsObject tahti = new PhysicsObject(150.0, 150.0);149 // tahti.Image = LoadImage("tahti");150 // tahti.X = -414.0;151 // tahti.Y = 345.0;152 // Add(tahti);153 // pistelaskuri.Value++;176 // pistelaskuri = new IntMeter(0); 177 // Label pisteNaytto = new Label(); 178 // pisteNaytto.X = Screen.Left + 100; 179 // pisteNaytto.Y = Screen.Top - 100; 180 // pisteNaytto.TextColor = Color.Black; 181 // pisteNaytto.Color = Color.White; 182 // pisteNaytto.BindTo(pistelaskuri); 183 // Add(pisteNaytto); 184 // pistelaskuri.Value++; 185 186 187 } 188 void TormaaTahteen() 189 { 190 // PhysicsObject tahti = new PhysicsObject(150.0, 150.0); 191 // tahti.Image = LoadImage("tahti"); 192 // tahti.X = -414.0; 193 // tahti.Y = 345.0; 194 // Add(tahti); 195 // pistelaskuri.Value++; 154 196 155 197 //hahmo.Destroy(); 156 198 157 158 159 } 160 void Tulta( )161 { 162 PhysicsObject ammus = new PhysicsObject(5, 5);199 200 201 } 202 void Tulta(PhysicsObject pelaaja, Vector suunta) 203 { 204 PhysicsObject ammus = new PhysicsObject(5, 5); 163 205 ammus.Position = pelaaja.Position; 164 Vector suunta = Mouse.PositionOnScreen - pelaaja.Position;206 //Vector suunta = Mouse.PositionOnScreen - pelaaja.Position; 165 207 ammus.Velocity = suunta * 10; 166 208 //ammus.IgnoresCollisionWith(pelaaja); 167 209 ammus.CollisionIgnoreGroup = 1; 168 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 5);210 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 5); 169 211 Add(ammus); 170 212 171 213 172 214 } 173 215 void LuoAikaLaskuri() … … 176 218 aikaLaskuri.Interval = 30; 177 219 aikaLaskuri.Timeout += AikaLoppui; 178 179 220 221 aikaLaskuri.Start(1); 180 222 181 223 Label aikaNaytto = new Label(); … … 218 260 ClearAll(); 219 261 LuoKentta(); 262 263 LuoPelaaja(); 264 LuoPelaajat(); 265 // LuoKentta(); 266 LuoKlooni(); 267 LuoKlooni(); 268 LuoKlooni(); 269 LuoKlooni(); 270 LuoKlooni(); 271 LuoKlooni(); 272 LuoKlooni(); 273 LuoKlooni(); 274 LuoKlooni(); 275 LuoKlooni(); 276 LuoKlooni(); 277 LuoKlooni(); 278 LuoKlooni(); 279 LuoKlooni(); 280 LuoKlooni(); 281 LuoKlooni(); 282 LuoKlooni(); 283 LuoKlooni(); 284 LuoKlooni(); 285 LuoKlooni(); 286 LuoKlooni(); 287 LuoKlooni(); 288 LuoKlooni(); 289 LuoKlooni(); 290 LuoAikaLaskuri1(); 220 291 AsetanNappaimet(); 292 } 293 void AikaLoppui1() 294 { 295 ClearAll(); 296 LuoKentta(); 297 221 298 LuoPelaaja(); 222 // LuoKentta(); 223 LuoKlooni(); 224 LuoKlooni(); 225 LuoKlooni(); 226 LuoKlooni(); 227 LuoKlooni(); 228 LuoKlooni(); 229 LuoKlooni(); 230 LuoKlooni(); 231 LuoKlooni(); 232 LuoKlooni(); 233 LuoKlooni(); 234 LuoKlooni(); 235 LuoKlooni(); 236 LuoKlooni(); 237 LuoKlooni(); 238 LuoKlooni(); 239 LuoKlooni(); 240 LuoKlooni(); 241 LuoKlooni(); 242 LuoKlooni(); 243 LuoKlooni(); 244 LuoKlooni(); 245 LuoKlooni(); 246 LuoKlooni(); 299 LuoPelaajat(); 300 // LuoKentta(); 301 LuoKlooni(); 302 LuoKlooni(); 303 LuoKlooni(); 304 LuoKlooni(); 305 LuoKlooni(); 306 LuoKlooni(); 307 LuoKlooni(); 308 LuoKlooni(); 309 LuoKlooni(); 310 LuoKlooni(); 311 LuoKlooni(); 312 LuoKlooni(); 313 LuoKlooni(); 314 LuoKlooni(); 315 LuoKlooni(); 316 LuoKlooni(); 317 LuoKlooni(); 318 LuoKlooni(); 319 LuoKlooni(); 320 LuoKlooni(); 321 LuoKlooni(); 322 LuoKlooni(); 323 LuoKlooni(); 324 LuoKlooni(); 325 LuoAikaLaskuri2(); 326 AsetanNappaimet(); 327 } 328 329 void Uusialoitus() 330 { 331 332 247 333 LuoAikaLaskuri(); 248 }249 void AikaLoppui1()250 {251 ClearAll();252 334 LuoKentta(); 253 335 AsetanNappaimet(); 254 336 LuoPelaaja(); 255 // LuoKentta(); 256 LuoKlooni(); 257 LuoKlooni(); 258 LuoKlooni(); 259 LuoKlooni(); 260 LuoKlooni(); 261 LuoKlooni(); 262 LuoKlooni(); 263 LuoKlooni(); 264 LuoKlooni(); 265 LuoKlooni(); 266 LuoKlooni(); 267 LuoKlooni(); 268 LuoKlooni(); 269 LuoKlooni(); 270 LuoKlooni(); 271 LuoKlooni(); 272 LuoKlooni(); 273 LuoKlooni(); 274 LuoKlooni(); 275 LuoKlooni(); 276 LuoKlooni(); 277 LuoKlooni(); 278 LuoKlooni(); 279 LuoKlooni(); 280 LuoKlooni(); 281 LuoKlooni(); 282 LuoKlooni(); 283 LuoKlooni(); 284 LuoKlooni(); 285 LuoKlooni(); 286 LuoKlooni(); 287 LuoKlooni(); 288 LuoKlooni(); 289 LuoKlooni(); 290 LuoKlooni(); 291 LuoKlooni(); 292 LuoAikaLaskuri2(); 337 LuoKlooni(); 338 LuoKlooni(); 339 LuoKlooni(); 340 LuoKlooni(); 341 LuoKlooni(); 342 LuoKlooni(); 343 344 345 } 346 void PysaytaPeli() 347 { 348 Pause(); 349 350 351 293 352 } 294 353 }
Note: See TracChangeset
for help on using the changeset viewer.