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); }
public void addInput(Cell cell) throws TicTacToeInputException { cell.setPlayer(getCurrentPlayer()); board.add(cell); if (isThereaWinner()) { return; } if (getPlayer1() == getCurrentPlayer()) { setCurrentPlayer(player2); } else { setCurrentPlayer(getPlayer1()); } }
@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); }
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); }