public void SimpleTest() //? { Game.Map = Map_creator.CreateMap(@" WWWWWWWWWWWWWWWW W W W S W W W W P W WWWWWWWWWWWWWWWW", "\n"); Game.PackMansPosition = new Point(5, 2); Game.PointsAtLevel = 7; Game.PointsEated = 2; Game.CurrentBehavior = MonsterBehavior.chase; var pinkyPos = new Point(12, 4); var pinky = new Blinky(Directions.Right); var result = new List <Point>() { pinkyPos }; for (var i = 0; i < 10; i++) { var move = pinky.Act(pinkyPos.X, pinkyPos.Y); pinkyPos.X += move.DeltaX; pinkyPos.Y += move.DeltaY; result.Add(pinkyPos); } Assert.IsNotEmpty(result); Assert.AreEqual(new Point(4, 2), pinkyPos); }
public void TestClashGhost() { Game.CreateMap(TestGhost.Map); var blinky = new Blinky(Directions.Nothing); var pacman = new PackMan(Directions.Right); Assert.AreEqual(pacman.DeadInConflict(blinky), true); Game.IsMonsterStyle = true; Assert.AreEqual(pacman.DeadInConflict(blinky), false); }
public void TestChaseMode() { Game.Map = Map_creator.CreateMap(" \r\n \r\n \r\n \r\nB ", "\r\n"); Game.PackMansPosition = new Point(3, 0); Game.CurrentBehavior = MonsterBehavior.chase; Game.PointsAtLevel = 7; Game.PointsEated = 2; var blinkyPos = new Point(0, 3); var blinky = new Blinky(Directions.Right); for (var i = 0; i < 6; i++) { var a = blinky.Act(blinkyPos.X, blinkyPos.Y); blinkyPos.X += a.DeltaX; blinkyPos.Y += a.DeltaY; } Assert.AreEqual(Game.PackMansPosition, blinkyPos); }
public void TestTeleports2() { Game.CreateMap(Map); var blinky = new Blinky(Directions.Right); var start = new Point(27, 13); var goal = new Point(1, 13); var count = 0; while (start != goal) { var move = blinky.FindPath(start.X, start.Y, goal); start.X += move.DeltaX; start.Y += move.DeltaY; count++; } Assert.AreEqual(2, count); Assert.AreEqual(Directions.Right, blinky.CurrentDirection); Assert.AreEqual(start, goal); }
public void FindPathTest() { Game.CreateMap(Map); var blinky = new Blinky(Directions.Left); var bPos = new Point(14, 10); var pacPos = new Point(14, 27); var count = 0; while (bPos != pacPos) { var move = blinky.FindPath(bPos.X, bPos.Y, pacPos); bPos.X += move.DeltaX; bPos.Y += move.DeltaY; count++; } Assert.AreEqual(45, count); Assert.AreEqual(Directions.Right, blinky.CurrentDirection); Assert.AreEqual(pacPos, bPos); }
public void TestFrightenedMode() { Game.Map = Map_creator.CreateMap(" \r\n \r\n \r\nB ", "\r\n"); Game.PackMansPosition = new Point(3, 0); Game.CurrentBehavior = MonsterBehavior.frightened; var blinkyPos = new Point(0, 3); var blinky = new Blinky(Directions.Right); var res = new List <CreatureCommand>(); for (var i = 0; i < 6; i++) { var a = blinky.Act(blinkyPos.X, blinkyPos.Y); blinkyPos.X += a.DeltaX; blinkyPos.Y += a.DeltaY; res.Add(a); } Assert.IsNotEmpty(res); Assert.AreEqual(res.Count, 6); }
public void TestScatterMode() { var game = new Game(); Game.Map = Map_creator.CreateMap("WWWWWW\r\nW W\r\nW W\r\nW W\r\nWB W\r\nWWWWWW", "\r\n"); Game.PackMansPosition = new Point(4, 1); Game.CurrentBehavior = MonsterBehavior.scatter; Game.PointsAtLevel = 7; Game.PointsEated = 2; var blinkyPos = new Point(1, 4); var blinky = new Blinky(Directions.Right); for (var i = 0; i < 6; i++) { var a = blinky.Act(blinkyPos.X, blinkyPos.Y); blinkyPos.X += a.DeltaX; blinkyPos.Y += a.DeltaY; } Assert.AreEqual(Game.PackMansPosition, blinkyPos); }
public void SimpleTest() { Game.Map = Map_creator.CreateMap(TestGhost.Map, "\r\n"); var blinky = new Blinky(Directions.Left); var blinkyPos = new Point(14, 10); Game.PackMansPosition = new Point(14, 27); var result = new List <Point>() { blinkyPos }; while (blinkyPos != Game.PackMansPosition) { var move = blinky.Act(blinkyPos.X, blinkyPos.Y); blinkyPos.X += move.DeltaX; blinkyPos.Y += move.DeltaY; result.Add(blinkyPos); } Assert.IsNotEmpty(result); Assert.AreEqual(46, result.Count); }
public void TestSteeps() { Game.Map = Map_creator.CreateMap(@" WWWWW WS W W W WP W WWWWW", "\n"); Game.PackMansPosition = new Point(1, 1); Game.PointsAtLevel = 7; Game.PointsEated = 2; Game.CurrentBehavior = MonsterBehavior.chase; var pinkyPos = new Point(1, 3); var pinky = new Blinky(Directions.Right); for (var i = 0; i < 2; i++) { var a = pinky.Act(pinkyPos.X, pinkyPos.Y); pinkyPos.X += a.DeltaX; pinkyPos.Y += a.DeltaY; } Assert.AreEqual(Game.PackMansPosition, pinkyPos); }