|
|
 |
 |
 |
Artykuły |
 |
|
Kółko i krzyżyk
21:40:09 29.05.2005
@Gujet
Jak zapewne zauważyłeś w tytule, ten artykuł będzie poświęcony popularnej grze "Kółko i krzyżyk". Przypuszczam, że masz pewne pojęcie o programowaniu w Delphi i ten tekst będzie dla Ciebie w pełni zrozumiały. "Kółko i krzyżyk" można napisać w jakiejkolwiek wersji Delphi. Ja swoje pierwsze "KiK" stworzyłem w Delphi 2.0. Omówię tutaj "surową" wersję tej gry, którą będziesz mógł przebudować. Zaczynajmy!
Uruchom Delphi (zakładam, że wiesz jak umieszczać komponenty) i umieść na formularza dziewięć przycisków SpeedButton (zakładka Aditional). Zaznacz je wszystkie trzymając Shift i kolejno klikając.
Teraz w Inspektorze Obiektów ustaw ich właściwości Height i Width na 60. Przeciągaj je tak, aby ułożyły się w planszę do gry (3x3). Zaczynając od przycisku w lewym górnym rogu (podążając w lewo) przemieniaj ich właściwości Name na p1, p2, p3... p9. W ten sam sposób zmień ich właściwość Caption na... nic:) Po prostu skasuj jej dotychczasową wartość.
Teraz umieść dodatkowo dwa przyciski i nazwij je gracz1 i gracz2. Tak samo ustaw ich właściwości Caption. Zaznacz obydwa i ustaw właściwość Group Index na 1. Oznacza to, że jeden z nich może być wciśnięty, a jeżeli wciśniemy drugi, to ten pierwszy się "wyciśnie" automatycznie. OK., właściwość Down, przycisku gracz1, ustaw na true.
Umieść jeszcze trzy przyciski i nazwij je kolejno: nowa, o_programie, koniec. Pewnie już się domyślasz jak masz ustawić właściwości Caption tych przycisków:) Zrób to.
Kliknij dwukrotnie na przycisk Koniec i wpisz:
close;
Oznacza to, że jeśli użytkownik kliknie na ten przycisk, to program zostanie zamknięty. Teraz kliknij na przycisk Nowa Gra i uzupełnij następująco procedurę:
p1. caption:='';
p2. caption:='';
p3. caption:='';
p4. caption:='';
p5. caption:='';
p6. caption:='';
p7. caption:='';
p8. caption:='';
p9. caption:='';
gracz1.down:=true;
Jeśli użytkownik kliknie na ten przycisk, plansza zostanie wyczyszczona i Gracz 1 będzie mógł zacząć grę. Przyciskiem o programie zajmiemy się na końcu. Teraz najważniejsza część kodu. Kliknij dwukrotnie na przycisk p1 i wpisz poniższy kod:
//jeśli gracz 1 jest włączony i pole jest czyste.
if (gracz1.down=true) and (p1.caption='') then
Begin
p1.caption:='x'; //wstaw x
gracz2.down:=true; //włącz gracza 2;
//teraz program sprawdzi czy wygrał gracz1
if ((p1.caption='x') and (p2.caption='x')
and )p3.caption='x')) //poziomo
or ((p1.caption='x')
and (p4.caption='x')
and (p7.caption='x')) //pionowo
or ((p1.caption='x')
and (p5. caption='x')
and (p9.caption='x')) then //przekątna
messagebox (handle,'Wygrał Gracz 1','', MB_OK.); //okienko z informacją
end;
else if (gracz2.down=true) and (p1.caption='') then
//w przeciwnym wypadku, jeśli gracz2
//jest włączony i pole jest puste.
Begin
p1.caption:='0'; //wstaw 0
gracz1.down:=true; //włącz gracza 1
//tu wpisz sprawdzenie warunków,
//zamieniając x na 0
end;
Resztę procedur On Click pól do gry uzupełnij analogicznie do tej. Z menu File wybierz New/Form. Pojawi się nowe okienko. Zmień jego Name na about i umieść na niw komponent Label, w którym napisz :
cpyright@by //i tu Twoje imię.
Znaczek (c) uzyskasz przytrzymując lewy Alt i, przy włączonej klawiaturze numerycznej, wpisując 0169. Dodaj jeszcze przycisk BitBtn (zakładka Aditional) do okna about i właściwość Kind przycisku ustaw na bkOK. W ten sposób okno samo się zamknie jeśli klikniesz ten przycisk. Przejdź do głównego formularza i procedurę onClick przycisku O_programie uzupełnij tak:
about.show; //wyświetli okienko o programie.
Uruchom program. Delphi zapyta, czy chcesz formularz about dodać do projektu - kliknij YES. Jak widzisz gra działa, ale nie ma remisów. To już zadanie dla Ciebie :) Zauważyłeś(aś) też, że jeśli ktoś wygra, to po zamknięciu okna z wiadomością o wygranej plansza się nie czyści i można grać dalej. To też zmień :) Możesz też zmienić kolory, rodzaje czcionek, ich wielkość. Napisy na paskach tytułowych formularzy i wiele innych rzeczy. Ten artykuł miał Ci tylko pokazać, jak się coś takiego robi.
Jeśli spodobał Ci się ten artykulik, to szepnij coś na adres: gujet@o2.pl Życzę miłej zabawy przy rozbudowywaniu tej gry!
Komentarzy: 0 | Głosuj (1,
2,
3,
4,
5,
6) | Ocena: 3.43 | Czytane: 3332 |  |
 |
Komentarze |
 |
|
Musisz się zalogować aby mieć możliwość komentowania
|  |
|
 |
|