<<-- Przejdź do części 1
4. Gdy naciśniesz przycisk „Sprawdź”
Pierwsza część kodu
procedury sprawdzającej jest identyczna z tymi rozwiązaniami, które
stosowaliśmy już nie raz w poprzednich zabawach, pomijamy więc
komentarz do niej.
Zupełnie nowym
rozwiązaniem w naszych dotychczasowych projektach jest możliwość
podpowiedzi, w przypadku udzielenia niepoprawnej odpowiedzi:
begin
ShowMessage('Niestety
źle'); //wyświetl komunikat o
złej odpowiedzi
Niepoprawne:=Niepoprawne
+ 1; //dodaj
punkt do niepoprawnych odpowiedzi
ShowMessage(('Powtórzę
jeszcze raz: Słowo ma ' + IntToStr(Ilosc_liter) + ' liter.
Zaczyna się na literę ' + Litera1 + '. Druga
litera to ' + Litera2 + ' , a kończy na
literę ' + Litera3));
Po wyświetleniu
komunikatu o złej odpowiedzi i zwiększeniu liczby niepoprawnych
odpowiedzi w tabeli wyników wprowadzamy nasze nowe rozwiązanie,
czyli podpowiedź.
Zgodnie z założeniem
program zdradzi nam, jaka jest druga litera słowa. Razem z
poprzednimi informacjami, czyli jaka jest pierwsza i ostatnia litera
oraz, z ilu liter składa się słowo, zostaje ona
podana w pojawiającym się komunikacie ShowMessage, który wyświetli
ponowne zapytanie.
W podobny sposób możemy
wprowadzać kolejne podpowiedzi, zdradzając, jakie są kolejne
litery słowa. Aby zapanować nad tymi podpowiedziami, będziemy
musieli stworzyć system liczenia, która to z kolei nieudana próba
odpowiedzi. System taki możemy wykonać na przykład na bazie
dodatkowej zmiennej, zliczającej próby i zespołu warunków, na
przykład:
if
Proba=1 then
begin
Litera1:=SLOWO[1];
end
else
if
Proba=2 then
begin
Litera1:=SLOWO[1];
Litera2:=SLOWO[2];
end
else
if
Proba=3 then
begin
Litera1:=SLOWO[1];
Litera2:=SLOWO[2];
Litera3:=SLOWO[3];
end
itd...
5.
Gdy naciśniesz przycisk „Pokaż słowo”
Jako przewidujący
programiści zdajemy sobie sprawę, że może zaistnieć taka
sytuacja, w której ktoś znudzony lub niedoświadczony naciśnie
przycisk „Pokaż słowo”, pomimo tego, iż
nie uruchomił wpierw procedury START. Aby program nie wygenerował w
takiej sytuacji błędu, musimy owe zdarzenie oprogramować. Czynimy
to za pomocą dobrze już nam znanej konstrukcji goto.
Przed napisaniem
odpowiedniej procedury, deklarujemy więc element Label z nazwą
KONIEC, który określi miejsce, do którego przejdzie wykonywanie
kodu przez program.
if
SLOWO='' then
//jeżeli nie ma słowa do pokazania to...
begin
ShowMessage('Najpierw
naciśnij przycisk START'); //...pokaż
komunikat
goto
KONIEC; //pomiń poniższy kod i przejdź
od razu na koniec procedury
end;
Powyższa, prosta
procedura ma tylko jedno zadanie: sprawdzić, czy zmienna globalna
SLOWO nie jest pusta. Jeżeli jest, wyświetli odpowiedni komunikat
informujący i przejdzie do punktu KONIEC, aby pominąć wykonywanie
dalszych instrukcji.
Właściwe polecenie
procedury „Pokaż słowo” jest bardzo proste i ogranicza się do
wyświetlenia komunikatu ShowMessage, w którym podana będzie
wartość zmiennej globalnej SLOWO, czyli nasze słowo do
odgadnięcia:
ShowMessage('Pytałem
o słowo: ' + (SLOWO));
Artykuł pochodzi z mojej książki pt. "Delphi w przykładach dla początkujących". Zapraszam na Stronę książki.
Ciekawe artykuły:
- Przeżycia na granicy śmierci
- Niezwykłe opowieści o niezwykłych ludziach
- AntyNoble - śmieszne badania naukowe
Brak komentarzy:
Prześlij komentarz