public override void AddMoveForwardRight(Checker checker) { AllowedMoves.Add(new Move(checker, TableCells.Cell[ (checker.PlayerMoveDirection == PlayerMoveDirection.BottomTop) ? checker.Cell.X + 1 : checker.Cell.X - 1, (checker.PlayerMoveDirection == PlayerMoveDirection.BottomTop) ? checker.Cell.Y - 1 : checker.Cell.Y + 1])); }
public override void AddMoveBackwardRight(Checker checker, Checker[] killed, out Move move) { move = new Move(checker, TableCells.Cell[ (checker.PlayerMoveDirection == PlayerMoveDirection.BottomTop) ? checker.Cell.X + 2 : checker.Cell.X - 2, (checker.PlayerMoveDirection == PlayerMoveDirection.BottomTop) ? checker.Cell.Y + 2 : checker.Cell.Y - 2], killed); AllowedMoves.Add(move); }
public override void AddMoveBackwardRight(Checker checker) { for (int i = Cell.X + 1, j = Cell.Y + 1; i < 8 && j < 8; i++, j++) { if (TableCells.Cell[i, j].IsClear()) { AllowedMoves.Add(new Move(checker, TableCells.Cell[i, j])); } else { break; } } }
public override void AddMoveForwardLeft(Checker checker) { for (int i = Cell.X - 1, j = Cell.Y - 1; i >= 0 && j >= 0; i--, j--) { if (TableCells.Cell[i, j].IsClear()) { AllowedMoves.Add(new Move(checker, TableCells.Cell[i, j])); } else { break; } } }
public override void AddMoveBackwardRight(Checker checker, Checker[] killed, out Move move) { move = null; for (int i = killed.Last().Cell.X + 1, j = killed.Last().Cell.Y + 1; i < 8 && j < 8; i++, j++) { if (TableCells.Cell[i, j].IsClear()) { move = new Move(checker, TableCells.Cell[i, j], killed); AllowedMoves.Add(move); } else { break; } } }
public override void AddMoveForwardLeft(Checker checker, Checker[] killed, out Move move) { move = null; for (int i = killed.Last().Cell.X - 1, j = killed.Last().Cell.Y - 1; i >= 0 && j >= 0; i--, j--) { if (TableCells.Cell[i, j].IsClear()) { move = new Move(checker, TableCells.Cell[i, j], killed); AllowedMoves.Add(move); } else { break; } } }