public static boolean getUserChoice(){
		boolean shouldCallContinue = false;
		chosen = null;
		do {
			System.out.println((userColor.equals("W"))?player1 + "'s turn:":player2 + "'s turn:");        
			System.out.println("Choose your piece to move: Tell me its x-coordinate. Or, to undo the last move, input -1.");
			myXCoor = InputValidator.nextValidInt(scanInt,-1,7);
			// Implementation for undoing a move
			if (myXCoor == -1){
				if (DeltaBoard.getHistorySize() > 0){ // Prevent undos beyond the start of the game
					toggleUserColor();
				}
				board = DeltaBoard.restorePrev(board);
				System.out.println(clearScreen());
				loopRound();
				shouldCallContinue = true;
				return shouldCallContinue;
			}
			System.out.println("Now tell me its y-coordinate.");
			myYCoor = InputValidator.nextValidInt(scanInt,0,7);
			chosen = board.get(myXCoor,myYCoor);
			System.out.println("The piece you chose is " + chosen);
			if (chosen == null || !chosen.getColor().equals(userColor))
				System.out.println("Please choose a valid piece.");
		} while(chosen == null || !chosen.getColor().equals(userColor));

		System.out.println("Choose a place or piece to move to: Tell me its x-coordinate.");
		targXCoor = InputValidator.nextValidInt(scanInt,0,7);
		System.out.println("Now tell me its y-coordinate.");
		targYCoor = InputValidator.nextValidInt(scanInt,0,7);
		target = board.get(targXCoor, targYCoor);
		return shouldCallContinue;
	}