Komentarz:
1.
Stałe elementy, znane z poprzednich zabaw
Pierwszą część kodu,
aż do procedury opisującej przycisk START, nie komentujemy, gdyż
znalazła ona swój opis w komentarzu do zabawy „Policz, ile tojest- wersja prosta”.
2.
Gdy naciśniesz przycisk START
Edit1.Clear;
//wyczyść
pole edycyjne (Do podawania Odpowiedzi)
Randomize;
//uruchom
maszynę losującą
WYNIK:=Random(99999);
//wylosuj plik do powtórzenia od 0
do 99999
Na początku procedury
usuwamy naszą poprzednią odpowiedź z pola edycyjnego, a następnie
uruchamiamy maszynę losującą, aby wylosowała liczby do
powtórzenia. W naszej zabawie nie musimy losować każdej liczby
osobno, choć oczywiście moglibyśmy. Upraszczamy jednak kod losując
jedną liczbę z zakresu od 0 do 99999. Zazwyczaj wylosowana zostanie
liczba pięcioznakowa, czyli tyle, ile założyliśmy. Istnieje małe
prawdopodobieństwo, że wylosowana liczba będzie jedno- czy
powiedzmy dwuznakowa, taka możliwość istnieje, jednak możemy
uznać to za bonus zabawy, że daje nam do powtórzenia prostą
liczbę. Gdybyśmy chcieli, aby program za każdym razem przedstawiał
pięć liczb, musielibyśmy każdą z nich losować i przedstawiać
osobno, względnie musielibyśmy tę naszą jedną liczbę obarczyć
kilkoma warunkami, aby program wymuszał użycie pięciu znaków.
Ponieważ w naszej
zabawie używamy prostej formy, więc najprościej będzie po prostu
wyświetlić ową liczbę na etykiecie programu, obok etykiety
Label1, która przedstawia napis „Powtórz liczby”. Skoro
wszystkie liczby do powtórzenia wyświetlamy jedna obok drugiej
(jako jedną liczbę pięcioznakową), to i w takiej samej formie
musimy wpisywać odpowiedź, w przeciwnym wypadku program potraktuje
ją jako błędną.
Dla przejrzystości
przedstawianych liczb możemy oddzielić je spacjami, używając
metody WYNIK [pozycja liczby w szeregu], czyli na przykład, chcąc
wyświetlić trzecią liczbę ze zmiennej WYNIK piszemy: Wynik[3].
Spacje wyświetlamy na etykiecie dodając segment typu (+' '+) -
pomiędzy apostrofami umieszczamy jedno miejsce wolne, czyli właśnie
spację. Chcąc teraz podać prawidłową odpowiedź, musimy i my
podawać liczby, oddzielając je spacjami.
Label7.Caption:=IntToStr(WYNIK);
//wyświetl liczbę do powtórzenia
Label7.Update; //uaktualnij komponent
label
Button2.Enabled:=false;
//zablokuj przycisk Sprawdź
Sleep(3000);
//czekaj 3
sekundy
Label7.Caption:='powtórz';
//zamiast liczby wyświetl napis
'powtórz'
Button2.Enabled:=true;
//odblokuj przycisk Sprawdź
Edit1.SetFocus;
//ustaw focus w Polu do
Odpowiedzi