public boolean isGameOver() {
		boolean gameOver = false;
		ArrayList<Player> playersToRemove = new ArrayList<Player>();

		//Make a new list of players, without those who can not do a move
		for (Player player : players) {
			if (!canDoMove(player)) {
				playersToRemove.add(player);
				//TODO Debug Line.
				System.out.println("Player: " + player.getColor() + " Is out of moves, removing");
			}
			System.out.println(player.getPieces());
		}

		// Checks if any of those players in the new list indexes are 
		// before or equal to the one having the turn, if so lower 
		// turn by 1 for each

		for (int i = 0; i < playersToRemove.size(); i++) {
			if (players.indexOf(playersToRemove.get(i)) < turn) {
				turn--;				
			}
			players.remove(playersToRemove.get(i));
		}
		if (players.size() > 0) {
			turn = turn % players.size();
			System.out.println("TURN = " + players.get(turn).getColor());
		}

		return players.size() == 0;
	}