Monday, 30 July 2012

Number Guessing Game In C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace numberguess
{
    class Program
    {
        static void Main(string[] args)
        {
           while (true)
            {
                int randomNumber = GenerateNumber(1, 101);
                int counter = 1;
                while (true)
                {
                    Console.Write("Enter a number between 1 and 100(0 to quit):");
                    int input = Convert.ToInt32(Console.ReadLine());

                    if (input == 0)
                        return;
                    else if (input < randomNumber)
                    {
                        Console.WriteLine("Too low, try again.");
                        ++counter;
                        continue;
                    }
                    else if (input > randomNumber)
                    {
                        Console.WriteLine("Too high, try again.");
                        ++counter;
                        continue;
                    }
                    else
                    {
                        Console.WriteLine("You guessed it! The number was {0}!", randomNumber);
                        if (counter == 1)
                            Console.WriteLine("And you guessed it right away! Bonus points!\n");
                        else
                            Console.WriteLine("It took you {0} {1}.\n", counter, counter == 1 ? "try" : "tries");
                        break;        
                    }
                }
            }

        }
        static int GenerateNumber(int min, int max)
        {
            Random random = new Random();
            return random.Next(min, max);
        }
    }
}