playerTurn (modified to allow up to 3 re-rolls)

Note: the bold code has been added
public void playerTurn(TripleRollPlayer player) {
	ResponseBox responseBox;
	ListBox listBox;
	int response,                           // holds answer from responseBox
	    choice;                             // holds answer from listBox
	boolean noChoiceMade;
                
	// create javabook objects
	responseBox = new ResponseBox(mainWindow);
	listBox = new ListBox(mainWindow, "Which die?");
	listBox.addItem("Die 1");
	listBox.addItem("Die 2");
	listBox.addItem("Die 3");
        
	// print out info
	outputBox.printLine("****** Begin Turn for " + player.getName() +
	                    " ******");
        
	// roll the dice and report the values
	player.rollDice(die1, die2, die3);
	outputBox.printLine("    Die 1: " + die1.getValue() + 
	                    "    Die 2: " + die2.getValue() + 
	                    "    Die 3: " + die3.getValue());
                                
	// have the player evaluate the roll
	player.evaluateRoll(die1, die2, die3);
	outputBox.printLine("    " + translateKind(player.getRollKind()) +
	                    "   Score: " + player.getRollScore());
        
	int rerolls = 0;
	boolean done = false;

	// while the player is not done and has rerolled 2 or fewer times
	while (!done && rerolls < 3) { 

		// ask if player wants to re-roll a die
		response = responseBox.prompt("Do you want to re-roll a die?");
		
		// if so, prompt for the die
		if (response == ResponseBox.YES) {
			choice = listBox.getSelectedIndex();
			noChoiceMade = false;
			
			switch (choice) {
				case 0:	die1.rollDie();
						break;
							
				case 1:	die2.rollDie();
						break;
							
				case 2:	die3.rollDie();
						break;
							
				default:	noChoiceMade = true;
						done = true;
			
			} // end switch
			
			if (!noChoiceMade) {
				rerolls++;
				player.evaluateRoll(die1, die2, die3);
				outputBox.printLine("    Re-roll die...");
				outputBox.printLine("    Die 1: " + die1.getValue() + 
				                    "    Die 2: " + die2.getValue() + 
				                    "    Die 3: " + die3.getValue());
				outputBox.printLine("    " + 
				                    translateKind(player.getRollKind()) +
				                    "   Score: " + player.getRollScore());
			} // end if chose to re-roll a die
		} // end if response was yes

		// else response is no, so player is done
		else
			done = true;

	} // end while
		
	// add the score to the total score
	player.addRollToTotal();
	outputBox.printLine("****** Score so far for " + player.getName() +
	                    ": " + player.getTotalScore() + " ******");
} // end playerTurn