在我对大量代码投反对票之前,我觉得有必要提出一个解决方案。
我已经根据之前提供的帮助对程序的代码进行了修改,但我似乎仍然陷入了随机数number没有被正确比较的问题(我有例子,其中number'5' 和用户的猜测是'5',但我仍然收到一条评论说“你离得太远了!再试一次。”这意味着它正在落入else if (userinputcalc > 4 | userinputcalc < 10)... 
因此,在这个阶段,问题似乎在于number和的比较userinput,导致输出消息混乱。
我可能在这里遗漏了一些明显的东西,尽管我确信它在比较循环中number,userinput但我一直在查看这段代码,但什么也没看到。
一如既往地非常感谢任何帮助。
    public void GuessingGame()
        {
            string username; // Will be the user's chosen name for program interaction
            int guessesleft = 0;// Stands for the number of guesses left (out of 3)
            int spaceaway = 0; // Space from the guess and the random number, if not correct guess
            int roundcount = 1; //Started at 1 for the sake of the user interface - aesthetics
            int number = 0; // Current value of the random number
            int userinput = 0; //User input is the guess the user makes during the guessing game
            int userinputcalc = 0;// calculation of guess and random number, when added to spaceaway calculation
            int answersright = 0; // Number of times the user guessed the number correctly
            Random rndm = new Random(); // Initialises a new class of random, which'll be used to simulate the random number
            Console.WriteLine("Welcome to Guessing Game!");
            Console.WriteLine("");
            Console.WriteLine("Please press any button to continue.");
            Console.ReadLine();
            Console.WriteLine("What's your name?");
            username = (Console.ReadLine());
//If you're wondering at all, the "You must guess what it is inthree tries." is intentional, since it was showing double-spaced in the command prompt
            Console.WriteLine("Well, " + username + ", I am thinking of a number from 1 to 10. You must guess what it is inthree tries.");
            Console.WriteLine("");
            {
               do
                {
                    Console.WriteLine("Round" + roundcount); //Displays the which round (out of 10) to the user
                    guessesleft = 3; //The remaining guesses left for the user
                    do
                    {
                        number = rndm.Next(10) + 1; // int number is set to a random number between 1 and 10
                        Console.WriteLine("Please enter a guess:");
                        userinput = int.Parse(Console.ReadLine());
                        guessesleft = guessesleft - 1;
                        if (userinput == number)
                        {
                            //Below,  once you've guessed right, you will have this message displayed in the console
                            Console.WriteLine("You guessed " + number + " *RIGHT*!");
                            answersright = answersright + 1;
                            guessesleft = 0;// No point need to guess further on something you've guessed correctly - saves correct answer value exploit
                        }
                        else if (userinput < 1 || userinput > 10) // If user's guess is less than 1 or more than 10, then out of range. Counts as a guess.
                        {           
                            Console.WriteLine("You guessed " + userinput + "! and it was incorrect!");
                            Console.WriteLine("This is outside of the range of numbers between 1-10 ");
                        }
                        else if  (userinput != number) // while the user's guess does not equal the number
                        {
                            {
                                // userinputcalc = Math.Abs(number - userinput);  
                                //Left out as I was getting abnormal run-time outputs and the math showed up wrong.
                                //(Example: RND No. = 5 Userinput = 5 Output: "Incorrect" "Hot")
                                spaceaway = (number - userinput); // Works out how far from the random no. the user's guess is.
                                // If user guesses 6 and random no. is 5, answer will be -1 this makes the value +ve and allows output to be shown without error
                                if (spaceaway < 0)
                                {
                                    spaceaway = (spaceaway * -1);
                                    userinputcalc = spaceaway;
                                }
                                else if (spaceaway > 0)
                                {
                                    userinputcalc = spaceaway;
                                }
                            }
                            {
                                if (userinputcalc < 2)
                                {
                                    Console.WriteLine("You guessed " + userinput + "! and it was wrong!");
                                    Console.WriteLine("Hot");
                                }
                                else if
                                     (userinputcalc < 3)
                                {
                                    Console.WriteLine("You guessed " + userinput + "! and it was wrong!");
                                    Console.WriteLine("Warm");
                                }
                                else if
                                    (userinputcalc < 4)
                                {
                                    Console.WriteLine("You guessed " + userinput + "! and it was wrong!");
                                    Console.WriteLine("Cold");
                                }
                                else if (userinputcalc > 4 | userinputcalc < 10)
                                {
                                    Console.WriteLine("You guessed " + userinput + "! and it was wrong!");
                                    Console.WriteLine("You're quite far off! Try again.");
                                }
                            }
                        }
                    } while (guessesleft > 0);
                    Console.WriteLine("");
                    Console.WriteLine("The number was, "+number+"!");
                    Console.WriteLine("");
                    roundcount = roundcount + 1;
                } while (roundcount < 11);
                Console.WriteLine("Well, " + username + ". " +  "You guessed correctly, " + answersright + " times!");
                }
            }
        }
    }