Random Number Generator c# not doing random numbers

Viewed 35

I am new to c# and I am doing a random number generator and I need it to rerun when the user types the letter "j". I succeeded in that but when its rerun its the same number all the time. Can you help me figure out how :) This is what I have tried, so please give me ideas to resolve this problem.

        static void Main(string[] args)
        {
            // Deklaration av variabler
            int min = 1;
            int max = 20; //Jag skapade en min och max för vad jag förstår det som så är "Next" mellan 0 och Int.MaxValue vilket är alldeles för mycket.
            Random slumpat = new Random(); // skapar ett random objekt
            int speltal = slumpat.Next(min, max); // anropar Next metoden för att skapa ett slumptal mellan 1 och 20
            int rättTal = speltal;
            // läs på, vad är overload metoder? https://msdn.microsoft.com/en-us/library/system.random.next(v=vs.110).aspx
            bool spela = true; // Variabel för att kontrollera om spelet ska fortsätta köras
            
            string igen = "";
            

            while (spela) // Här tog jag bort "!" för att programmet avslutades vilket får mig att anta att den betyder att "någonting" är falskt. I detta fallet är "någonting" "spela"
            {

                int check = 0;

                Console.Write("\n\tGissa på ett tal mellan 1 och 20: ");

                Int32.TryParse(Console.ReadLine(), out int tal); //Det fanns ingen felsökningsmetod för om de inte skrev en siffra, därför gjorde jag detta.

                if (tal < speltal)
                {
                    Console.WriteLine("\tDet inmatade talet " + tal + " är för litet, försök igen.");
                    
                }

                if (tal > speltal)
                {
                    Console.WriteLine("\tDet inmatade talet " + tal + " är för stort, försök igen.");
                    
                }

                if (tal == speltal) //Jag ändrade "=" till "==" på grund av att det ska vara lika med och inte en jämförelse.
                {
                    Console.WriteLine("\tGrattis, du gissade rätt! Tryck på valfri knapp för att fortsätta.");
                    Console.ReadLine();
                    Console.Clear();
                    check = 1;
                }

                

                if (check == 1)
                {
                    Console.WriteLine("\tVill du spela igen? (j/n): ");
                    igen = Console.ReadLine();
                    Console.Clear();

                    if (igen == "j")
                    {
                        continue;
                    }
                    if (igen == "n")
                    {
                        break;
                    }
                }
            }
        }
    }
}

0 Answers
Related