Witam Tworzę swoją pierwszą prostą grę w c#. I nie wiem jak zrobić aby użytkownik miał np tylko 3 sekundy na odpowiedź. Próbowałem pobrać datę systemową po wyświetleniu pytania oraz po wpisaniu liczby przez użytkownika ale nie wiem jak sprawdzić ile sekund minęło i jak to wpisać w if'a. Który by sprawdzał czy minęły już 3 sekundy.
Z góry dziękuje za wszelką pomoc :D.
Jeśli jesteś w stanie mi pomóc skieruj się na linie 41 jest tam if który ma komentarz.
using System;
namespace Giereczka_0_00
{
class Program
{
//program losujący znaki od 1 do 32
public static string GuidString(int numOfCharsNeeded)
{
return Guid.NewGuid().ToString("n").Substring(0, numOfCharsNeeded);
}
static void Main(string[] args)
{
;
//tworzenie timera oraz liczby losowej
TimeSpan godzinaTeraz1;
TimeSpan godzinaTeraz2;
Random rnd = new Random();
//punkty,rundy i poziom trudnośći
int points = 0;
int minDifficult = 1;
int maxDifficult = 3;
int rounds;
for (rounds = 0; ; rounds++)
{
//tworzenie losowej ilosci znakow
int numbers = rnd.Next(minDifficult, maxDifficult);
Console.Clear();
Console.WriteLine("Ile ma te zdanie znaków?");
Console.WriteLine(GuidString(numbers)+" masz sekund!!!");
//ilosc czasu na odpowiedz
godzinaTeraz1 = DateTime.UtcNow.ToLocalTime().TimeOfDay;
int player = int.Parse(Console.ReadLine());
//sprawdzanie odpowiedzi
godzinaTeraz2 = DateTime.UtcNow.ToLocalTime().TimeOfDay;
//if(Co musze tutaj wpisać aby program sprawdził np czy mineły 3 s)
if (player != GuidString(numbers).Length) break;
//zwiekszanie punktów,rund i poziomu trudnosci
if (minDifficult <= 3) minDifficult++;
if (maxDifficult <= 8) maxDifficult++;
points += rounds;
}
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("\n\n Wasted\n");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Zdobyłeś tyle punktów: {0}", points);
Console.WriteLine("Przetrwałeś aż tyle rund: {0}", rounds);
Console.ReadKey();
}
}
}
}