Gra w węża :P

Dzisiaj zrobimy sobie bardzo dobrze znaną grę „Snake” znaną głównie ze starych telefonów. Grę taką można udoskonalić o elementy wizualne, jak i elementy rozgrywki, możemy konkurować o tokeny, grać na czas, kreować poziomy z przeszkodami, tylko od nas zależy, co w takiej grze umieścimy. To, co ja zrobiłem, prezentuje w grze do pobrania poniżej, można kreować poziomy, konkurować ze sobą na jednym komputerze z kolegą lub przy użyciu sieci komputerowej:

 

 

Snake Neon 1.0

 

 

 

Zaczniemy od stworzenia formy. Nie będziemy dodawać żadnych obiektów, ponieważ wszystko, co będzie potrzebne, będziemy generować na bieżąco.

 

 

 

Rodzaj elementu Nazwa elementu Ustawienia
Form Form1 Name: Form1
Text: Wąż VisualMonsters.cba.pl
Size: 416; 439
BackgroundImageLayout: Center
DubleBuffered: True
 Timer1  Timer1  Interval: 110

 

 

 

 

Opcja BackgroundImageLayout jest opcjonalna, ponieważ forma wizualna gry, będzie wyświetlana jako obrazek tła formy, sposób jej ułożenia jest dosyć istotny. Jeśli wybierzemy opcje, Tile (sąsiadujący) nasza forma wizualna będzie powielona i gracz może nie wiedzieć, gdzie kończy się obszar gry:

No to zaczynamy:

Na tym etapie, za dużo wyjaśniać nie trzeba. Będziemy przerabiać sobie poszczególne etapy w sekcji Initialize(). Najpierw wygenerujemy plansze, odblokujmy element:

Generowanie planszy jest bardzo zbliżone do tego, które robiliśmy podczas tworzenia gry w statki.

Efektem będzie wyświetlenie siatki kwadratów:

Mamy już scenę, na której będzie poruszał się nasz wąż. Odblokujemy teraz element generujący naszego węża, nie będzie on chwilowo widoczny. Ponieważ ożywi go nam dopiero Timer:

Po odblokowaniu dodajemy metodę generującą węża:

Powyższa metoda wygeneruje trzy struktury, o tej samej lokalizacji i kolorze. Czas ożywić naszego węża, odblokowujemy timer:

Teraz przechodzimy to zdarzenia TimerTick:

Mamy zdarzenie i możemy dodać ruch węża. Będzie to metoda PoruszWeza(), która będzie poruszała naszymi obiektami, zgodnie z aktualnie wybranym kierunkiem (zmienna aktKierunek):

Bez metody GenerujToken() nasza plansza będzie czysta tylko z jednym kwadratem czerwonym symbolizującym naszego węża:

Zostało nam dodanie aktualizacji kierunków i generowanie tokena. Oba te elementy są w miarę proste:

Gotowe, teraz gra działa, a my możemy rozkoszować się możliwością manipulacji. Można zwiększać i zmniejszać szybkość gry manipulując przy Intervale Timera1. Sprawdźcie sobie grę Snake Neon z początku tego posta. Takie rzeczy można zrobić, modyfikując i dodając elementy do tego algorytmu.

Do pobrania:

kod źródłowy: Waz_kodZrodlowy_Visualmonsters.cba.pl

pełen projekt: Snake_VisualMonsters.cba.pl

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/gra-w-weza-p/

Dodaj komentarz

Twój adres email nie będzie publikowany.