Witam. Uczę się programowanie już trochę czasu i nigdy nie zdarzyło mi się nie rozwiązać tak prostego problemu. Otóż piszę grę Quiz w konsoli, która z założenia ma zadawać pytania z różnych dziedzin wiedzy wybranej ilości użytkownikom, sprawdzać poprawność odpowiedzi, przyznawać punkty, a na końcu oczywiście wyłonić zwycięzcę. Na samym początku pisania tej aplikacji spotkałem się z dziwnym błędem. Otóż gdy uruchomię aplikację testując działanie funkcji Dodaj_Usera(), po podaniu ilości graczy program wypisuję w konsoli niezależnie od podanej ilości dwa razy "Podaj nazwę użytkownika: ", a gdy się poda, w nieskończoność robi to samo (a przecież pętla nie jest nieskończona!!!), lecz potem program wypisuję "Podaj nazwę użytkownika: " tylko raz. Proszę o pomoc.
static void Main(string[] args)
{
wszystkiePytania();
Console.WriteLine("Podaj ilość graczy biorących udział w rozgrywce: ");
ilosc = Console.Read();
Dodaj_Usera(ilosc);
//////////////////////////////////////////////////////////////////////////////////////////////
Console.WriteLine("Z jakiej dziedziny wiedzy chcesz się zmierzyć z botem lub przeciwnikiem/przeciwnikami?");
Console.WriteLine("a - programowania"); Console.WriteLine("b - historii"); Console.WriteLine("c - muzyki"); Console.WriteLine("d - fizyki");
Console.WriteLine("e - matematyki"); Console.WriteLine("f - biologii"); Console.WriteLine("g - wszystkich na raz");
jaka_dziedzina = Console.ReadLine();
}
static void Dodaj_Usera(int ile)
{
string[] nazwa = new string[ile];
while (ile > 0)
{
Console.WriteLine("Podaj nazwę użytkownika: "); nazwa[ile - 1] = Console.ReadLine();
Users.Add(new User { nick = nazwa[ile - 1], pkt = 0 });
ile--;
}
}