- Timestamp:
- 2010-08-03 21:19:53 (13 years ago)
- Location:
- 2010/30/tekrjant/Seikkailu
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/tekrjant/Seikkailu/Esine.cs
r1556 r1582 39 39 { 40 40 public EsineenTyyppi Tyyppi; 41 public GameObject Klooni = null; 41 42 42 43 -
2010/30/tekrjant/Seikkailu/HUD.cs
r1542 r1582 83 83 } 84 84 85 public void Vasemmalle()85 public void LiikutaValintaa( Direction suunta ) 86 86 { 87 87 if ( esineet.Count == 0 ) 88 88 return; 89 89 90 if ( valittuIndeksi > 0 ) 91 valittuIndeksi--; 92 else 93 valittuIndeksi = esineet.Count - 1; 90 switch ( suunta ) 91 { 92 case Direction.Left: 93 if ( valittuIndeksi > 0 ) 94 valittuIndeksi--; 95 else 96 valittuIndeksi = esineet.Count - 1; 97 break; 94 98 95 PaivitaNuoli(); 96 } 99 case Direction.Right: 100 if ( valittuIndeksi < ( esineet.Count - 1 ) ) 101 valittuIndeksi++; 102 else 103 valittuIndeksi = 0; 104 break; 97 105 98 public void Oikealle() 99 { 100 if ( esineet.Count == 0 ) 101 return; 102 103 if ( valittuIndeksi < ( esineet.Count - 1 ) ) 104 valittuIndeksi++; 105 else 106 valittuIndeksi = 0; 106 default: 107 throw new ArgumentException(); 108 break; 109 } 107 110 108 111 PaivitaNuoli(); -
2010/30/tekrjant/Seikkailu/Peli.cs
r1556 r1582 265 265 Keyboard.Listen( Key.Right, ButtonState.Released, EiKaanny, null ); 266 266 267 Keyboard.Listen( Key.Q, ButtonState.Pressed, esineValikko.Vasemmalle, null);268 Keyboard.Listen( Key.W, ButtonState.Pressed, esineValikko.Oikealle, null);267 Keyboard.Listen( Key.Q, ButtonState.Pressed, EsineValinta, null, Direction.Left ); 268 Keyboard.Listen( Key.W, ButtonState.Pressed, EsineValinta, null, Direction.Right ); 269 269 Keyboard.Listen( Key.Space, ButtonState.Pressed, KaytaValittuaEsinetta, null ); 270 270 271 271 Keyboard.Listen( Key.P, ButtonState.Pressed, Keraa, null ); 272 } 273 274 void EsineValinta( Direction suunta ) 275 { 276 if ( esineValikko.ValittuEsine == null ) 277 return; 278 279 Esine vanhaEsine = esineValikko.ValittuEsine; 280 esineValikko.LiikutaValintaa( suunta ); 281 Esine uusiEsine = esineValikko.ValittuEsine; 282 283 if ( vanhaEsine.Klooni != null ) 284 vanhaEsine.Klooni.IsVisible = false; 285 if ( uusiEsine.Klooni != null ) 286 uusiEsine.Klooni.IsVisible = true; 272 287 } 273 288 … … 338 353 } 339 354 340 double Etaisyys( Vector p1, Vector p2 )341 {342 double dx = p2.X - p1.X;343 double dy = p2.Y - p1.Y;344 return Math.Abs( dx * dx + dy * dy );345 }346 347 355 void Keraa() 348 356 { … … 350 358 return; 351 359 352 if ( ( Etaisyys( pelaaja.Position, viimeksiKoskettuEsine.Position ) - pelaaja.Width / 2 - viimeksiKoskettuEsine.Width / 2 ) > 0 )360 if ( ( Vector.Distance( pelaaja.Position, viimeksiKoskettuEsine.Position ) - pelaaja.Width / 2 - viimeksiKoskettuEsine.Width / 2 ) > 0 ) 353 361 return; 354 362 … … 359 367 { 360 368 case EsineenTyyppi.TuliSauva: 361 GameObject klooni = new GameObject( viimeksiKoskettuEsine.Width, viimeksiKoskettuEsine.Height ); 362 klooni.Image = viimeksiKoskettuEsine.Image; 363 pelaaja.Add( klooni ); 364 klooni.X = pelaaja.Width / 2 + klooni.Width / 4; 369 Poimi( viimeksiKoskettuEsine ); 370 break; 371 case EsineenTyyppi.EnergiaSauva: 372 Poimi( viimeksiKoskettuEsine ); 373 break; 374 case EsineenTyyppi.Miekka: 375 Poimi( viimeksiKoskettuEsine ); 365 376 break; 366 377 case EsineenTyyppi.Lyhty: … … 379 390 } 380 391 392 void Poimi( Esine esine ) 393 { 394 GameObject klooni = new GameObject( esine.Width, esine.Height ); 395 klooni.Image = esine.Image; 396 klooni.IsVisible = false; 397 klooni.X = pelaaja.Width / 2 + klooni.Width / 4; 398 klooni.Y = 0; 399 esine.Klooni = klooni; 400 pelaaja.Add( klooni ); 401 } 402 381 403 void KaytaLamppua() 382 404 { 383 405 if ( lyhdynValo.Intensity <= 0.1 ) 384 406 { 385 lyhtyAjastin.Start();407 lyhtyAjastin.Start(); 386 408 } 387 409 else
Note: See TracChangeset
for help on using the changeset viewer.