wtorek, 15 października 2019

Zabawa "Zgadnij słowo" w Delphi część 2

<<-- 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.

poradnik programowania Delphi





Ciekawe artykuły:

    
    Zapoznaj się z innymi artykułami. Przejdź do zakładki Spis artykułów.

Brak komentarzy:

Prześlij komentarz

Wspomóż mnie lub zostań moim patronem już od 5 zł - sprawdź szczegóły

Moje e-booki

Kliknij w okładkę, aby przejść do strony książki

Przejdź do strony książki Przejdź do strony książki