public void playRound() {
        previousBoard = DeltaBoard.cloneBoard(board);
        // Checks if user's king is in check before moving
        if (isChecked(userColor, getXOfKing(userColor), getYOfKing(userColor), true)){ // Check whether the user's king is in check prior to user's turn
            System.out.println("Your King is in check!");
        } 
        kingPreviouslyChecked = ((King)board.get(getXOfKing(userColor),getYOfKing(userColor))).isChecked(); // Keeps track of whether the user's king was checked before this turn

        // getUserChoice() returns boolean signifying if iteration of the loop should be skipped
        if (getUserChoice()){
            return;
        }

        // handleCastle() returns boolean signifying if iteration of the loop should be skipped
        if (handleCastle()){
            return;
        }

        // handleEnPassant() returns boolean signifying if iteration of the loop should be skipped
        if (handleEnPassant()){
            return;
        }

        // handlePawnJump() returns boolean signifying if iteration of the loop should be skipped
        if (handlePawnJump()){
            return;
        }


        // Regular Move: Checks if king is in check after move
        if (validMove(myXCoor, myYCoor, targXCoor, targYCoor, userColor, true)) {
            // Case when the resulting position does NOT result in a check on the user's king
            if (chosen.getType().equals("PAWN")){
                handlePawnPromotion(targXCoor, targYCoor);	
            }
            if (target == null) { // Print feedback information to user
                System.out.println(clearScreen() + "Successful move: " + chosen + " (" + myXCoor + "," + myYCoor + ") to (" + targXCoor + "," + targYCoor + ").\n");
            }
            else {  // Print feedback information to user
                System.out.println(clearScreen() + "Successful kill: " + chosen + " (" + myXCoor + "," + myYCoor + ") takes " + target + " (" + targXCoor + "," + targYCoor + ").\n");
            }
            advanceRound();
        }
        else{
            loopRound();
        }
    }