public void nextPlayerPressed() {

		if (!humanMustFinish) {

			if (currentPlayer == null) {
				currentPlayer = humanPlayer;
			}
			else {
				int nextIndex = players.indexOf(currentPlayer) + 1;
				if (nextIndex > (players.size() - 1)) {
					nextIndex = 0;
				}
				currentPlayer = players.get(nextIndex);
			}
			rollDice();
			displayPanel.setRoll(dieRoll);
			board.startTargets(currentPlayer.getRow(), currentPlayer.getColumn(), dieRoll);
			if (currentPlayer.isHuman()) {
				controlFrame.enableAccusationButton();
				board.highlightTargets();
				humanMustFinish = true;
				repaint();
			}
			else {
				// do computer things
				ComputerPlayer currentComputer = (ComputerPlayer)currentPlayer;

				//ready to make accusation?
				if(currentComputer.getReadyToAccuse() && currentComputer.getLastGuess() == this.getSolution()){
					//game over computer player wins
					JOptionPane.showMessageDialog(null, "Computer accusation (" + currentComputer.getLastGuess().getPerson() + ", " + 
							currentComputer.getLastGuess().getWeapon() + ", " + currentComputer.getLastGuess().getRoom() + ") was correct.");
					gameWon(currentComputer);
				}
				//move computer player
				currentComputer.updateLocation(currentComputer.pickLocation(board.getTargets()));
				// is the player in a room? do suggestion things
				if(board.getCellAt(currentComputer.getRow(), currentComputer.getColumn()).isDoorway()){
					Solution s = currentComputer.createSuggestion(playerCards, weaponCards);
					Card c = handleSuggestion(s.getPerson(), s.getRoom(), s.getWeapon(), currentComputer);
					if(c == null){
						displayPanel.setResponse("No new clue");
						currentComputer.setReadyToAccuse(true);
					}
					else{
						for(ComputerPlayer player : computerPlayers){
							player.seeCard(c);
						}
						displayPanel.setGuess("Was it " + s.getPerson() + " with the " + s.getWeapon() + " in the " + s.getRoom() + "?");
						displayPanel.setResponse(c.getTitle());
					}
					currentComputer.setLastGuess(s);
				}
			}
		}

		repaint();

	}