DragonKiss
DragonKiss

Reputation: 3

Changing ConsoleKeyInfo into int

I am new to the programing c#. I tried to program a simple program that would run in cmd. I thought that it would randomly creat a noumber and the user would put in the numbers and he/she would try to guess the randomly created one. The program would tell you if it is lower or higher then the number you putted in... I started programing but I came to the problem... I can not compare noumber putted in by user and the randomly generated one.

This is the code...

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Guess the number!");
        Random randomObject = new Random();
        int RandNoumber = randomObject.Next(9999) + 1;
        ConsoleKeyInfo keyinfo = Console.ReadKey();
        if (keyinfo < RandNoumber) //This is where I got an error msg
        {
        }
    }
}

Thank you for all the support!

MP

Upvotes: 0

Views: 159

Answers (1)

I.B
I.B

Reputation: 2923

You could use Consol.ReadLine and then parse the value the user entered

static void Main(string[] args)
{
    Console.WriteLine("Guess the number!");
    Random randomObject = new Random();
    int RandNoumber = randomObject.Next(9999) + 1;

    int enteredNumber;
    while (true)
    {
        bool parsed = int.TryParse(Console.ReadLine(), out enteredNumber);

        if (parsed)
        {
            if (enteredNumber < RandNoumber)
            {
                Console.WriteLine("Wrong it's higher");
            }
            else if (enteredNumber > RandNoumber)
            {
                Console.WriteLine("Wrong it's lower");
            }
            else
            {
                Console.WriteLine("Good Job!");
                //Do victory dance
                return;
            }
        }
        else
        {
            Console.WriteLine("Please enter a number");
        }
    }
}

Upvotes: 1

Related Questions