<<-- Przejdź do części 1
Po
sprawdzeniu bonusów przystępujemy do sprawdzania poszczególnych
układów. Ogólnie mamy trzy typy układów: złożone z trzech
takich samych cyfr, złożone z czterech elementów i z pięciu.
Każdy z nich może występować w różnych konfiguracjach i być
ułożony na różnych bębnach.
Na
początek sprawdzamy układy złożone z trzech elementów, począwszy
od lewej górnej poziomej trójki, czyli pola Memo 1, 2 i 3:
1
2 3 4 5
6
7 8 9 10
11 12 13 14
15
if
(M1=M2) and (M1=M3) then
//jeżeli będą 3 takie same liczby
obok siebie
begin
Memo1.Color:=
clred; //zaznacz kolorem
czerwonym trafione okno
Memo2.Color:=
clred; //zaznacz kolorem
czerwonym trafione okno
Memo3.Color:=
clred; //zaznacz kolorem
czerwonym trafione okno
Wynik:=
StrToInt(Edit1.Text); //odczytaj wynik z
pola Wyników
Wynik:=
Wynik+(15*Stawka);
//dodaj punkty za trafiony układ na tablicy Wygranych
Edit1.Text:=
IntToStr(Wynik); //wyświetl wynik w
polu Wyników
Konto:=
StrToInt(Edit2.Text); //odczytaj Stan
konta
Konto:=
Konto+(15*Stawka); //dodaj
punkty do konta za trafiony układ
Edit2.Text:=
IntToStr(Konto); //wyświetl Stan konta
end;
Jak
widzimy kod wykonujący ten warunek jest prawie identyczny z tym,
którego używaliśmy do sprawdzania bonusów. Jedynymi zmianami są
inne pokolorowanie pola (na czerwono) oraz przyznanie wyższej ilości
punktów (15 pkt). W podobny sposób sprawdzamy układy złożone z
większej ilości elementów, zawsze porównując, czy leżące obok
siebie pola zawierają takie same cyfry.
Analizując
kod programu, widzimy, iż znaczna jego część to tylko sprawdzanie
kolejnych możliwych układów, jakie mogą wystąpić. Cały kod
programu nie jest więc tyle skomplikowany, ile po prostu
rozbudowany.
Na
końcu warunków sprawdzających realizujemy nasze oczekiwanie, aby
po wyświetleniu jednocześnie zer w środkowym i narożnych polach,
program zamienił się w kapryśną fortunę i – w zależności od
stanu naszego konta – uczynił nas bankrutem lub szczęśliwcem,
któremu nie tylko umorzono dług, ale jeszcze dodano 50 punktów:
if
(M1=0) and (M1=M5) and (M1=M8)
and (M1=M11) and
(M1=M15) then
begin
Memo1.Color:=
clblue; //zaznacz kolorem
niebieskim trafione okno
Memo5.Color:=
clblue; //zaznacz kolorem
niebieskim trafione okno
Memo8.Color:=
clblue; //zaznacz kolorem
niebieskim trafione okno
Memo11.Color:=
clblue; //zaznacz kolorem
niebieskim trafione okno
Memo15.Color:=
clblue; //zaznacz kolorem
niebieskim trafione okno
Konto:=
StrToInt(Edit2.Text); //odczytaj Stan
konta
if
Konto > 0 then
//jeżeli stan konta
jest większy od zera
begin
Edit1.Text:=
'BANKRUT!!!'; //wyświetl
napis 'BANKRUT' w polu Wygranych
Edit2.Text:=
IntToStr(0) //wyświetl
zero w polu Stan konta
end
//bez średnika
else
//jeżeli
stan konta jest mniejszy od zera
begin
Edit1.Text:=
'BONUS!!!';
//wyświetl napis 'BONUS' w polu Wygranych
Edit2.Text:=
IntToStr(50) //wyświetl
50 pkt w polu Stan konta
end;
end;
Na
samym końcu procedury umieszczamy polecenie ograniczające nasze
zadłużenie:
if
Konto < (-200) then
//jeżeli debet jest
większy niż 200 pkt wtedy
begin
Button2.Enabled:=False;
//...zablokuj przycisk Start
end;
Po
przekroczeniu granicy długu ustalonej na 200 złotych program
blokuje przycisk „START”, uniemożliwiając dalszą grę.
Konstrukcja naszego kodu jest jednak tak zbudowana, iż w przypadku
zablokowania konta możemy użyć przycisku „Zasil konto”, który
doda nam 50 punktów i w ten sposób spłaci część długu,
odblokowując przycisk „START”.
Polecenie
sprawdzające wysokość długu i blokujące przycisk „START”
musimy umieścić na samym końcu, gdyż może zaistnieć taka
sytuacja, że w ostatniej chwili trafimy na układ, który spłaci
część długu i stan naszego zadłużenia nie zostanie
przekroczony. Musimy więc warunki sprawdzające poszczególne układy
umieścić wcześniej, przed tym poleceniem.
Na
podobnych zasadach, jakie użyliśmy w tym projekcie, możemy ustalać
kolejne układy i bonusy, które nie zostały przez nas przewidziane.
Z pewnością dużym uatrakcyjnieniem będzie także wymiana cyfr na
obrazki oraz włączenie do projektu dźwięków towarzyszących
kręceniu się bębnów i trafieniu bonusów czy układów. Nie jest
to trudne zadanie, wystarczy tylko we właściwe miejsca dopisać
jedną lub kilka (w zależności od użytych rozwiązań) linii kodu
odtwarzającego dźwięk.
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