示例#1
0
 private void drawChessPattern() {
   clearBoard();
   for (int i = 0; i < getBoardSize(); i++) {
     for (int j = 0; j < getBoardSize(); j++) {
       if ((i + j) % 2 == 0) colorSquare(i, j, Color.white);
       else colorSquare(i, j, Color.black);
     }
   }
 }
示例#2
0
 @Test
 public final void testCastling7() {
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.WHITE), 7, 4);
   mainboard.set(new Rook(Player.WHITE), 7, 7);
   mainboard.set(new Rook(Player.WHITE), 7, 0);
   mainboard.set(new Queen(Player.WHITE), 7, 5);
   assertFalse(mainmodel.isValidMove(new Move(7, 4, 7, 6), mainboard));
 }
示例#3
0
 @Test
 public final void testCastling5() {
   // make sure can't be done if piece is in the way
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.BLACK), 0, 4);
   mainboard.set(new Rook(Player.BLACK), 0, 7);
   mainboard.set(new Knight(Player.BLACK), 0, 6);
   move1 = new Move(0, 4, 0, 6);
   assertFalse(mainmodel.isValidMove(move1, mainboard));
 }
示例#4
0
 @Test
 public final void testCastling0() {
   // make sure it can be done
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.BLACK), 0, 4);
   mainboard.set(new Rook(Player.BLACK), 0, 7);
   mainboard.set(new Queen(Player.WHITE), 1, 4);
   move1 = new Move(0, 4, 0, 6);
   mainmodel.setTurns(1);
   assertFalse(mainmodel.isValidMove(move1, mainboard));
 }
示例#5
0
 @Test
 public final void testCastling9() {
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.WHITE), 7, 4);
   mainboard.set(new Rook(Player.WHITE), 7, 7);
   mainboard.set(new Rook(Player.WHITE), 7, 0);
   assertTrue(mainmodel.isValidMove(new Move(7, 4, 7, 2), mainboard));
   mainmodel.move(new Move(7, 4, 7, 2), mainboard);
   assertNotNull(mainmodel.pieceAt(mainboard, 7, 2));
   assertNotNull(mainmodel.pieceAt(mainboard, 7, 3));
 }
示例#6
0
 @Test
 public final void testCastling1() {
   // make sure it can be done
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.BLACK), 0, 4);
   mainboard.set(new Rook(Player.BLACK), 0, 7);
   // castle now
   move1 = new Move(0, 4, 0, 6);
   mainmodel.move(move1, mainboard);
   assertEquals(mainboard.pieceAt(0, 6).type(), "King");
   assertEquals(mainboard.pieceAt(0, 5).type(), "Rook");
 }
示例#7
0
 @Test
 public final void testCastling11() {
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.BLACK), 0, 4);
   mainboard.set(new Rook(Player.BLACK), 0, 7);
   mainboard.set(new Rook(Player.BLACK), 0, 0);
   mainmodel.setTurns(1); // so its black's turn
   assertTrue(mainmodel.isValidMove(new Move(0, 4, 0, 2), mainboard));
   mainmodel.move(new Move(0, 4, 0, 2), mainboard);
   assertNotNull(mainmodel.pieceAt(mainboard, 0, 2));
   assertNotNull(mainmodel.pieceAt(mainboard, 0, 3));
 }
示例#8
0
 @Test
 public final void testCastling2() {
   // make sure can't be done if rook moved
   mainmodel = new ChessModel();
   mainboard = new ChessBoard();
   mainboard.clearBoard();
   mainboard.set(new King(Player.BLACK), 0, 4);
   mainboard.set(new Rook(Player.BLACK), 0, 7);
   move1 = new Move(0, 7, 1, 7);
   mainmodel.move(move1, mainboard);
   move1 = new Move(1, 7, 0, 7);
   mainmodel.move(move1, mainboard);
   // castle now
   move1 = new Move(0, 4, 0, 6);
   assertFalse(mainmodel.isValidMove(move1, mainboard));
 }