public void playGame() {
		
		playerNumber = 0;
		playerLocation = 0;
		int increment = 1;  // used for skipping a player if they do a suggestion
		boolean humanPlayer = false;
		//System.out.println("in playGame");
		Card roomCard, personCard, weaponCard;
		while(true) {
			
			if(gameControlPanel.getNextButton()) {				
				if(!playerTurnComplete) {
					JOptionPane.showMessageDialog(null, "Please Select a Square");
				} else {
					//System.out.println("Next button passed to board");
					int dieNumber = rollDie();
					gameControlPanel.setDieRoll(dieNumber);
					playerNumber =  gameControlPanel.getPlayerNumber();
					playerLocation = allPlayers.get(playerNumber).getLocation();
					humanPlayer = allPlayers.get(playerNumber).isHuman();
					//System.out.println("This player # " + playerNumber + ", this player location: " + playerLocation);
					//System.out.println("Player type: " +humanPlayer);
					//System.out.println(", this player location: " + allPlayers.get(playerNumber).getLocation());
					calcTargets(playerLocation, dieNumber );  //post: targets populated


					for(BoardCell temp : targets) { // refactor into calcTargets if time
						//targetsIndex controls where blue squares are drawn
						targetsIndex.add(calcIndex(temp.row, temp.column));
						//System.out.println(calcIndex(temp.row, temp.column));
					}

					repaint();  // show blue squares

					// Set whose turn display
					gameControlPanel.setTurn(allPlayers.get(playerNumber).name);

					// blue squares shown; possible targets known
					
					if(humanPlayer)  { //true if human
						playerTurnComplete = false;
					}

					if(humanPlayer == false) {  //computer player
						targetsIndex.clear();  //clear the previous turn
						Card returnCard;
						//pick a square from targets, make an suggestion or accusation
						BoardCell target = allPlayers.get(playerNumber).pickLocation(targets);
						int targetIndex = calcIndex(target.row, target.column);
						//System.out.println("GetPlayerMove: " + targetIndex);
						allPlayers.get(playerNumber).setLocation(targetIndex);
						if(cells.get(targetIndex).isRoom()){
							returnCard = makeSuggestion(playerNumber, target);

						}


					}
					repaint();

					//set up for next turn
					gameControlPanel.setPlayerNumber(increment);

				}
				if(gameControlPanel.getAccButton()) {
					//System.out.println("Accusation button passed to board");
					accusationDialog.setVisible(true);
					roomCard = new Card(accusationDialog.roomCombo.getSelectedItem().toString(), Card.CardType.ROOM);
					personCard = new Card(accusationDialog.personCombo.getSelectedItem().toString(), Card.CardType.PERSON);
					weaponCard = new Card(accusationDialog.weaponCombo.getSelectedItem().toString(), Card.CardType.WEAPON);
					if(checkAccusation(personCard,roomCard,weaponCard)){
						JOptionPane.showMessageDialog(null, "You are Correct! Congratulations!");
						break;
					} else
						JOptionPane.showMessageDialog(null, "Wrong Answer, Try again.");
					repaint();
				}
			}
		}

	}