public void DoTieBreakers() { // checks for ties in dice rolls and does tiebreakers if needed bool tied = false; int index = 0; while (!tied && index < players.Count - 1) { if (players[index].CompareTo(players[index + 1]) > 0) { // if current player is higher than next player, add 6 to initial roll players[index].AddToInitialRoll(6); } else { // if tied, add players to roll queue and stop iterating nextToRollQueue.Enqueue(players[index]); nextToRollQueue.Enqueue(players[index + 1]); tied = true; } index++; } // add tied players to the queue while (index < players.Count - 1 && players[index].CompareTo(players[index + 1]) == 0) { nextToRollQueue.Enqueue(players[index + 1]); index++; } // reroll if necessary if (nextToRollQueue.Count > 0) { RollFromQueue(); } else { // hide the roll screen GameGUI.HideRollScreen(); // show the move order screen GameGUI.ShowMoveOrderScreen(); } }