예제 #1
0
 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]));
 }
예제 #2
0
 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);
 }
예제 #3
0
 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;
         }
     }
 }
예제 #4
0
 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;
         }
     }
 }
예제 #5
0
 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;
         }
     }
 }
예제 #6
0
 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;
         }
     }
 }