   int btnStateGuess = digitalRead(btnGuess);
   int btnStatePlay = digitalRead(btnPlay);
   
-  if (btnStatePlay != oldBtnStatePlay && displayState == 6) {
-    resetScore();
+  if (btnStatePlay != oldBtnStatePlay && displayState == 7) {
+    // game is over, so reset
+	resetScore();
     showRoundsToPlay();
     displayState = 0;
   }
+  else if (btnStatePlay != oldBtnStatePlay && displayState == 6) {
+    // wait for next play button press after showing game winner
+	displayState = 7;
+  }
   else if (btnStatePlay != oldBtnStatePlay && displayState == 5) {
-    updateLCD();
-    displayState = 1;
+    // show game winner and wait for next play button press
+	showHeaderNoScore();
+    mySerial.print(strWinner);
+    displayState = 6;
   }
   else if (btnStatePlay != oldBtnStatePlay && displayState == 4) {
-    displayGameWinner();
+    // determine if the game is over and wait for next play button press
+	displayState = getGameWinner();
   }
   else if (btnStatePlay != oldBtnStatePlay && displayState == 3) {
-    displayResultOfRound();
+    // show round results and wait for next play button press
+	displayResultOfRound();
     displayState = 4;
   }
   else if (btnStatePlay != oldBtnStatePlay && displayState == 2) {
+	// wait for next play button press after showing round stats
     displayState = 3;
   }
   else if (displayState == 1) {
+	// handle hand, guess, and play buttons during a round
     if (btnStateHand == HIGH && btnStateHand != oldBtnStateHand) {
       nextHand();
       updateLCD();

    }
  }
  
  roundsPlayed++;
  displayRoundStats(compHand, compGuess);
}

}

// check if the game is over
int getGameWinner() {
  int tempState = 5;   // assume winner
  
  if (playerScore == winsNeeded) {
    strWinner = "Player Won " + String(playerScore) + "-" + String(compScore);
  }
  else if (compScore == winsNeeded) {
    strWinner = "CPU won " + String(compScore) + "-" + String(playerScore);
  }
  else {
    tempState = 0;    // no winner
  }
  
  return tempState;
}

// display header with score
