public void test2Connector() {
    Board b = new Board();
    b.add(new Connector(1, 2), Color.RED);
    b.add(new Connector(2, 3), Color.RED);
    b.add(new Connector(1, 3), Color.RED);
    assertFalse(b.isOK());

    Board c = new Board();
    c.myHashMap.put(new Connector(1, 2), Color.RED);
    assertFalse(c.isOK());

    Board d = new Board();
    Iterator<Connector> iter = d.connectors();
    int i = 0;
    while (iter.hasNext()) {
      iter.next();
      i++;
    }
    assertTrue(i == 15);

    d.add(new Connector(1, 2), Color.RED);
    d.add(new Connector(3, 4), Color.RED);
    d.add(new Connector(2, 5), Color.RED);
    Iterator<Connector> iter2 = d.connectors(Color.RED);
    int j = 0;
    while (iter2.hasNext()) {
      iter2.next();
      j++;
    }
    assertTrue(j == 3);
  }
Exemple #2
0
 public void addInput(Cell cell) throws TicTacToeInputException {
   cell.setPlayer(getCurrentPlayer());
   board.add(cell);
   if (isThereaWinner()) {
     return;
   }
   if (getPlayer1() == getCurrentPlayer()) {
     setCurrentPlayer(player2);
   } else {
     setCurrentPlayer(getPlayer1());
   }
 }
Exemple #3
0
 @SuppressWarnings("serial")
 @Before
 public void createBoardAndGame() throws FileNotFoundException {
   b = new Board();
   b.add("C", 200, "A", "Q");
   g = new Game();
   g.setOutputStream(new PrintStream(new ByteArrayOutputStream()));
   g.setBoard(b);
   g.setAnswerTime(1);
   g.addPlayer(P1);
   g.addPlayer(P2);
   g.start();
   g.select("C", 200);
 }
Exemple #4
0
  public void startTurn() {
    long start = System.currentTimeMillis();
    update();
    BoardArea.boardArea.paintImmediately(0, 0, BoardArea.width, BoardArea.height);
    InfoArea.infoArea.paintImmediately(0, 0, InfoArea.width, InfoArea.height);

    double maxSum = Integer.MIN_VALUE;
    Piece newPiece = null;

    HashSet<Point> currentCorners = new HashSet<Point>(corners);
    for (Point corner : currentCorners) {
      for (char key : pieces) {
        PieceIterator itr = new PieceIterator(key);
        while (itr.hasNext()) {
          Piece piece = itr.next();
          piece.setPlayer(this);
          for (Point square : piece.getSquares()) {
            piece.translate(corner.x - square.x, corner.y - square.y);
            if (Board.canPlacePiece(piece)) {
              // System.out.println("Adding " + piece.getName() + " " + piece.getSquares());
              HashSet<Point> newCorners = Board.addTempPiece(piece);
              InfluenceMap.update();
              double sum = InfluenceMap.sum(this) + piece.getSquares().size();
              // System.out.println(piece.getName() + " " + corner + " " + sum + " " + maxSum);
              if (sum > maxSum) {
                maxSum = sum;
                newPiece = new Piece(piece);
              }
              // System.out.println("Removing " + piece.getName() + " " + piece.getSquares());
              Board.removeTempPiece(piece, newCorners);
            }
          }
        }
      }
    }
    //		System.out.println("MAX " + maxSum + " " + newPiece.getName() + " " +
    // newPiece.getSquares());
    long end = System.currentTimeMillis();
    if (end - start < 2500)
      try {
        BoardArea.boardArea.paintImmediately(0, 0, BoardArea.width, BoardArea.height);
        Thread.sleep(2500 - (end - start));
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    Board.add(newPiece);
    Game.endTurn(newPiece);
  }
  // Check one-connector board.
  public void test1Connector() {
    Board b = new Board();
    b.add(new Connector(1, 2), Color.RED);
    assertTrue(b.isOK());
    checkCollection(b, 1, 0);

    Iterator<Connector> iter = b.connectors(Color.RED);
    assertTrue(iter.hasNext());
    Connector cnctr = iter.next();
    assertEquals(b.colorOf(cnctr), Color.RED);
    assertEquals(new Connector(1, 2), cnctr);
    assertTrue(!iter.hasNext());

    assertTrue(!b.formsTriangle(new Connector(1, 3), Color.RED));
    assertTrue(!b.formsTriangle(new Connector(5, 6), Color.RED));
    assertTrue(!b.choice().equals(new Connector(1, 2)));
    assertEquals(b.colorOf(b.choice()), Color.WHITE);
  }