Changeset 6007 for 2015/24/ohjaajat/Dungeon
- Timestamp:
- 2015-06-10 23:59:23 (8 years ago)
- Location:
- 2015/24/ohjaajat/Dungeon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/24/ohjaajat/Dungeon/Dungeon/Dungeon/Dungeon.cs
r6006 r6007 107 107 Location = paikka; 108 108 } 109 } 110 111 public class Barbaari : GameObject 112 { 113 public Barbaari(double width, double height) 114 :base(width, height) 115 { } 116 117 public int Askel { get; set; } 118 109 119 } 110 120 … … 130 140 131 141 Room[,] huoneet; 142 List<Room> kohteet = new List<Room>(); 132 143 Room spawn; 133 144 Timer barbaariAjastin = new Timer(); … … 222 233 }; 223 234 235 Mouse.Listen(MouseButton.Right, ButtonState.Pressed, delegate() { ostamassa = null; }, "Perutaan ostos"); 236 224 237 Label teksti = new Label(); 225 238 teksti.Position = kuva.Position + new Vector((RUUDUN_KOKO * 1.2), 0); … … 241 254 void LuoBarbaareja() 242 255 { 243 PhysicsObject barbaari = new PhysicsObject(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4);256 Barbaari barbaari = new Barbaari(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4); 244 257 barbaari.Color = Color.Red; 245 258 //barbaari.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top); … … 249 262 barbaari.Animation.Start(); 250 263 Add(barbaari); 264 265 EtsiBarbaarinReitti(barbaari); 266 } 267 268 void EtsiBarbaarinReitti(Barbaari barbaari) 269 { 270 Room kohde = kohteet[RandomGen.NextInt(kohteet.Count)]; 271 272 List<Point> polku = FindPath(kohde.Location, spawn.Location); 273 //polku.Reverse(); 274 275 KuljePolkua(barbaari, polku); 276 } 277 278 void KuljePolkua(Barbaari barbaari, List<Point> polku) 279 { 280 281 Timer siirtoAjastin = new Timer(); 282 siirtoAjastin.Interval = 2; 283 siirtoAjastin.Timeout += delegate 284 { 285 barbaari.MoveTo(huoneet[polku[barbaari.Askel].X, polku[ barbaari.Askel++].Y].Position, 100); 286 }; 287 siirtoAjastin.Start(polku.Count); 288 251 289 } 252 290 … … 256 294 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 257 295 Keyboard.Listen(Key.F1, ButtonState.Pressed, Begin, null); 296 258 297 259 298 Keyboard.Listen(Key.Space, ButtonState.Pressed, SeuraavaAalto, "Anna kivan barbaariaallon tulla"); … … 351 390 if (ostamassa != null && huone.Dug && kulttuuri.Value >= ostamassa.Price) 352 391 { 353 //huone.Damage = ostettu.Damage;354 //huone.Culture = ostettu.Culture;355 //huone.Image = ostettu.Image;356 392 kulttuuri.Value -= ostamassa.Price; 357 393 … … 383 419 // se on vain suoraan polun pituus. 384 420 upg.Culture.Value = polku.Count; 421 422 kohteet.Add(room); 385 423 } 386 424 } … … 421 459 walkable[paikka.X, paikka.Y] = huoneet[paikka.X, paikka.Y].Dug; 422 460 } 423 var finder = new AStar.PathFinder(new AStar.SearchParameters( alku, loppu, walkable), OviTarkistus);461 var finder = new AStar.PathFinder(new AStar.SearchParameters(loppu, alku, walkable), OviTarkistus); 424 462 return finder.FindPath(); 425 463 }
Note: See TracChangeset
for help on using the changeset viewer.