void assessRound()
    {
        Debug.Log("Assessing round!");

        //It's the first round.
        if (currentPlayer == null)
        {
            Debug.Log("First round.");
            changePlayer(player1);
            disableControl = false;
            return;
        }

        Player other = otherPlayer(currentPlayer);

        //Did the player get a penalty for pocketing the cue ball?
        if (currentPlayer.penalty)
        {
            Debug.Log("Penalty for pocketing the cue ball!");
            currentPlayer.penalty = false;

            //Give the other player an extra turn.
            other.extraTurn = true;
            //Display stuff
            displayMessage.displayMessage("You pocketed the cue ball!\n Player "
                                          + (int)other.getPlayerNumber() + " gets an extra turn.", 2F);
        }

        //Does the player get another turn?
        else if (currentPlayer.extraTurn)
        {
            Debug.Log("Player gets another turn!");
            currentPlayer.extraTurn = false;
            //Display stuff for extra turn.
            displayMessage.displayMessage("You get another turn!", 2F);
            return;
        }
        else
        {
            displayMessage.displayMessage("Switching to player "
                                          + (int)other.getPlayerNumber() + ".", 2F);
        }

        //Switch the player every round.
        changePlayer(other);

        Debug.Log("New round: Player " + (int)currentPlayer.getPlayerNumber());
    }