<<-- Przejdź do części 1
3. Gdy naciśniesz przycisk „START”
Aby
móc operować na liczbach wyświetlanych w polach Memo, musimy dla
nich przygotować piętnaście osobnych zmiennych (M1..M15), po
jednej dla każdego pola Memo. Będziemy dzięki nim losować liczbę
do wyświetlenia. Każda ze zmiennych „M” jest ściśle
przyporządkowana do komponentu Memo o tym samym numerze.
W
naszym prostym przykładzie, zamiast obrazków wyświetlamy liczby,
ale nic nie stoi na przeszkodzie, aby zmodyfikować kod w taki
sposób, aby można było te obrazki wyświetlać. Nie jest to aż
takie trudne. Pierwszą zmianą, jaką musielibyśmy wprowadzić, to
wymiana komponentów Memo na Image, aby w polach można było
wyświetlać obrazki. Ponadto, będziemy musieli do naszego kodu
dodać instrukcje warunkowe if...then, do „tłumaczenia”
wyników liczbowych na obrazki. Wprowadzane warunki będą proste:
M1:= Random (10)
//wylosuj
liczbę
if
M1= 1 then
//gdy
wylosuje 1, wtedy
Image1.LoadFromFile('C:\Gry\1.jpg');
//wyświetl obrazek 1
if
M1= 2 then
//gdy
wylosuje 2, wtedy
Image1.LoadFromFile('C:\Gry\2.jpg');
//wyświetl obrazek 2
(...)
if
M1= 9 then
//gdy
wylosuje 9, wtedy
Image1.LoadFromFile('C:\Gry\9.jpg');
//wyświetl obrazek 9
Powyższą
grupę warunków należy teraz powtórzyć dla każdej zmiennej „M”.
Jak łatwo się domyślić, długość kodu jeszcze bardziej się
wydłuży, ale pisząc programy komputerowe, musimy liczyć się z
tym, że mogą one zawierać tysiące linii kodu.
Pierwszą
czynnością po naciśnięciu przycisku „START”, jest ustalenie
stawki, jaką gracz zaznaczył. Domyślnie ustawiona jest stawka
najniższa, za pięć punktów. Ona także jest punktem wyjścia do
wyznaczenia współczynników kolejnych stawek, przez które należy
pomnożyć punkty. Druga stawka to „10 punktów” – jest ona dwa
razy większa od stawki podstawowej, stąd też zmienna „Stawka”
przyjmuje wartość „2”.
Do
wyznaczania stawki przez gracza wykorzystaliśmy nowy komponent o
nazwie „RadioButton”. Ma on tę właściwość, że w danej
chwili może być aktywny tylko jeden z nich. Jest to więc taki
przełącznik: Jeżeli jest zaznaczony jeden, a my klikniemy drugi,
to tamten zostanie „odhaczony”, a ten zaznaczony. Aby wykorzystać
w kodzie informację, która kontrolka została zaznaczona, stosujemy
instrukcję warunkową:
if
RadioButton1.checked= true then
//gdy wybrano stawkę x5
Stawka:= 1;
//pomnóż wynik razy 1
Po
ustaleniu stawki, za jaką gracz gra, przywracamy każdemu polu kolor
biały. Musimy to zrobić, gdyż wszelkie układy i bonusy
podświetlają pola na inny kolor, nie mogą więc one pozostać
takie dla nowego losowania:
Memo1.Color:=
clwhite;
Następną
czynnością, jaką musimy wykonać, jest odjęcie punktów za
uruchomienie bębnów. Za każdym razem, gdy naciskamy w automacie do
gier przycisk „Graj”, pobiera on ustaloną ilość punktów z
naszego konta. W naszym przypadku najniższa stawka to pięć punktów
i tyle też zostanie nam z konta pobrane. W przypadku wybrania
wyższej stawki zwiększy się odpowiednio ilość odjętych punktów.
Aby móc zabrać punkty, najpierw
musimy dowiedzieć się, jaki jest aktualny stan konta:
Konto:=
StrToInt(Edit2.Text); //odczytaj
stan konta
Konto:=
Konto-(5*Stawka);
//odejmij punkty z konta za uderzenie
Edit2.Text:=
IntToStr(Konto); //wyświetl
stan konta
Edit2.Update;
//uaktualnij
komponent
Edit1.Text:=
IntToStr(0);
//wyzeruj pole wygranych
Edit1.Update;
//uaktualnij
komponent
Jak
widzimy z powyższego kodu, w pierwszej kolejności odczytujemy
zawartość pola Edit2 (wyświetlającego stan konta) i przypisujemy
ją do zmiennej „Konto”. Teraz możemy odjąć od niej pięć
punktów, pomnożone przez stawkę, którą gracz wybrał. Nową
wartość naszego konta możemy na powrót wyświetlić, aktualizując
cały komponent.
Ostatnią
czynnością przygotowawczą do nowego rozdania jest wyzerowanie pola
wygranych na wypadek, gdyby w polu tym pozostawała wartość
wygranej z poprzedniego rozdania:
Edit1.Text:=
IntToStr(0);
//wyzeruj pole wygranych
Edit1.Update;
//uaktualnij
komponent
Przystępując
do nowego rozdania, musimy najpierw wylosować liczby dla każdego
pola Memo z osobna:
M1:= Random(10);
//wylosuj liczbę
dla okna 1
(…)
M15:= Random(10);
//wylosuj liczbę
dla okna 15
Mając
już ustalone, jakie liczby mają być wyświetlone w każdym polu,
przystępujemy do „uruchomienia” bębnów. W tym miejscu
wprowadzamy nasze dwa założenia: Po pierwsze, nie chcemy, aby
program pokazał od razu wylosowane liczby. Chcemy, aby najpierw
pokręcił bębnami tak, jak w prawdziwym automacie. Jego
właściwością jest także to, iż bębny nie zatrzymują się w
tym samym czasie, tylko jeden po drugim, począwszy od lewej strony.
Uzyskanie tego efektu będzie zatem naszym drugim założeniem.
Artykuł pochodzi z mojej książki pt. "Delphi w przykładach dla początkujących". Zapraszam na Stronę książki.
Ciekawe artykuły:
- Nakładki graficzne do aplikacji konsolowych
- 10 porad praktycznych dla początkującego elektryka
- Przechwyt klawiatury w Delphi - Metoda Key Press
Brak komentarzy:
Prześlij komentarz