Пример #1
0
 /** Tests to see if a bishop at 4,4 causes check to a king at 2,2 */
 @Test
 public void testBasicCheck() {
   setup();
   chessBoard = new RectangularBoard(new StandardGame());
   Bishop b = new Bishop(4, 4, chessBoard, player1);
   King k = new King(2, 2, chessBoard, player2);
   assertTrue(chessBoard.locationPressured(player2.getKing().getLocation(), player2));
   assertEquals(6, chessBoard.getAllMoves(player2).size());
 }
Пример #2
0
  /** Tests a complicated checkmate situation where player2 is checkmated by player1's knight. */
  @Test
  public void testComplicatedMate() {
    setup();
    chessBoard = new RectangularBoard(new StandardGame());
    Bishop b = new Bishop(4, 4, chessBoard, player1);
    Knight h = new Knight(5, 4, chessBoard, player1);
    King k = new King(3, 3, chessBoard, player1);
    Rook R = new Rook(5, 7, chessBoard, player2);
    King K = new King(6, 7, chessBoard, player2);
    Pawn P1 = new Pawn(5, 6, chessBoard, player2);
    Pawn P2 = new Pawn(7, 6, chessBoard, player2);
    Pawn P3 = new Pawn(6, 5, chessBoard, player2);

    /*
       7 . . R K .     (player 2) Capital's direction is down
       6 . . P . P     NOTE: ORGINAL VIEW
       5 . . . P .
       4 . b h . .
    3 k . . . .
      3 4 5 6 7
       */

    assertFalse(chessBoard.locationPressured(player2.getKing().getLocation(), player2));

    // now move the horse
    h.movePieceToTile(new Point(7, 5), true);

    assertTrue(chessBoard.locationPressured(player2.getKing().getLocation(), player2));
    assertTrue(chessBoard.noPossibleMoves(player2));

    /*
       7 . . R K .     Capital's direction is down
       6 . . P . P     NOTE: FINAL OUTCOME, horse was at 5, 4
       5 . . . P h
       4 . b . . .
    3 . . . . .
      3 4 5 6 7
       */
  }