public void go() { display.display(); if (isGameEnded()) { System.out.println("Game Ended result: " + board.getStatus()); return; } System.out.println("Player " + currentPlayer.getName() + " moves."); Move move = currentPlayer.getNextMove(board.clone()); try { board.setCell(move.getRow(), move.getColumn(), currentPlayer.getSign()); } catch (InvalidAssignmentException e) { throw new RuntimeException(e); } currentPlayer = (currentPlayer == p1 ? p2 : p1); go(); }