public void FindRequiredJumps_DefaultField() { var gameField = CommonValues.DefaultField; Assert.AreEqual(GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.Black).Count(), 0); Assert.AreEqual(GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.White).Count(), 0); }
public void FindTurnsForCell_DefaultField() { var gameField = CommonValues.DefaultField; var blackTurns = new List <GameTurn>(GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.Black).ToArray()); var whiteTurns = new List <GameTurn>(GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.White).ToArray()); Assert.AreEqual(blackTurns.Count, 0); Assert.AreEqual(whiteTurns.Count, 0); TestUtils.GetAllTurns(gameField, out blackTurns, out whiteTurns); // Black turns Assert.AreEqual(blackTurns.Count, 7); Assert.AreEqual(blackTurns[0].Steps, new int[] { 17, 24 }); Assert.AreEqual(blackTurns[1].Steps, new int[] { 17, 26 }); Assert.AreEqual(blackTurns[2].Steps, new int[] { 19, 26 }); Assert.AreEqual(blackTurns[3].Steps, new int[] { 19, 28 }); Assert.AreEqual(blackTurns[4].Steps, new int[] { 21, 28 }); Assert.AreEqual(blackTurns[5].Steps, new int[] { 21, 30 }); Assert.AreEqual(blackTurns[6].Steps, new int[] { 23, 30 }); // White turns Assert.AreEqual(whiteTurns.Count, 7); Assert.AreEqual(whiteTurns[0].Steps, new int[] { 40, 33 }); Assert.AreEqual(whiteTurns[1].Steps, new int[] { 42, 33 }); Assert.AreEqual(whiteTurns[2].Steps, new int[] { 42, 35 }); Assert.AreEqual(whiteTurns[3].Steps, new int[] { 44, 35 }); Assert.AreEqual(whiteTurns[4].Steps, new int[] { 44, 37 }); Assert.AreEqual(whiteTurns[5].Steps, new int[] { 46, 37 }); Assert.AreEqual(whiteTurns[6].Steps, new int[] { 46, 39 }); }
public void FindRequiredJumps_LongJumpsField() { var gameField = CommonValues.LongJumpsField; var jumpsBlack = GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.Black).ToList(); var jumpsWhite = GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.White).ToList(); Assert.AreEqual(jumpsBlack.Count, 2); Assert.AreEqual(jumpsWhite.Count, 1); Assert.AreEqual(jumpsBlack[0].Steps, new int[] { 7, 14, 21 }); Assert.AreEqual(jumpsBlack[1].Steps, new int[] { 55, 46, 37 }); Assert.AreEqual(jumpsWhite[0].Steps, new int[] { 1, 10, 19 }); }
public void UpdateState(GameField newField, PlayerSide side, IStatusReporter statusReporter, IResultSender <GameTurn> sender) { Side = side; _curField = newField; _statusReporter = statusReporter; _sender = sender; _turns = new List <GameTurn>(); _requiredJumps = GameTurnUtils.FindRequiredJumps(_curField, Side); DoJumpsContinue = false; _statusReporter.Status = string.Format("{0}: {1}", Side, _requiredJumps.Any() ? Resources.WpfPlayer_JumpTurn_Start : Resources.WpfPlayer_SimpleTurn); }
public void FindRequiredJumps_ShortJumpsField() { var gameField = CommonValues.ShortJumpsField; var jumpsBlack = GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.Black).ToArray(); var jumpsWhite = GameTurnUtils.FindRequiredJumps(gameField, PlayerSide.White).ToArray(); Assert.AreEqual(jumpsBlack.Length, 3); Assert.AreEqual(jumpsWhite.Length, 5); Assert.AreEqual(jumpsBlack[0].Steps, new int[] { 17, 26, 35 }); Assert.AreEqual(jumpsBlack[1].Steps, new int[] { 19, 26, 33 }); Assert.AreEqual(jumpsBlack[2].Steps, new int[] { 28, 21, 14 }); Assert.AreEqual(jumpsWhite[0].Steps, new int[] { 23, 30, 37 }); Assert.AreEqual(jumpsWhite[1].Steps, new int[] { 24, 17, 10 }); Assert.AreEqual(jumpsWhite[2].Steps, new int[] { 26, 17, 8 }); Assert.AreEqual(jumpsWhite[3].Steps, new int[] { 26, 19, 12 }); Assert.AreEqual(jumpsWhite[4].Steps, new int[] { 60, 51, 42 }); }