Diskuze: C# - Pac-man
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Kolize jde řešit skrz Rectangle.IntersectsWith(...)
Animaci můžeš udělat tak, že tam budeš mít nějaký stav a podle toho
budeš měnit obrázek. Stav můžeš uchovávat jako normální číslo. A při
každém vykreslení se ti inkrementuje stav. Stav si můžeš uchovávat v
nějakém enumu, který budeš měnit podle toho, kde si zrovna zmáčkl
klávesu (WSAD).
Ok, díky moc za rady
A mohl bych se ještě zeptat, chci udělat opravdu jednoduchou UI pro duchy,
kteří by chodili po bludišti. Napadlo mě, že pokud by došel duch na
souřadnice rozcestí v bludišti, vygenerovalo by se náhodné číslo a podle
něj by se určil směr (přes switch nebo if), kterým se duch vydá. Je to
dobré řešení, nebo existuje nějaký jiný způsob?
Myslím si, že to je dobré řešení a nedokážu si představit, že by to šlo udělat jinak, možná na to někde existuje nějaká funkce, ale ta by to stejně řešila skrze náhodná čísla.
Kdybys to chtěl udělat trochu složitěji, doporučuji přečíst tento článek: http://www.itnetwork.cz/…y-v-bludisti
Určitě by měl postačit, animaci bych nejspíš udělal pomocí timeru a kolizi asi pomocí ifů v poli...
Pár informací:
1 - Animace se tvoří pomocí spritů. jsou to samostatné obrázky, které
když zaskládáš v rychlém sledu za sebe utvoří animaci. Například http://www.freewebs.com/…0Sprites.bmp To, jak často budeš
obrázky dělat závisí na tobě (zpravidla se to řeší přes stav, ve
kterém je, jak je popsáno výše).
2 - Kolize se řeší analytickou geometrií. Pacman bude reprezentovaný
kružnicí, stěny obdelníky. Projdeš všechny stěny, zjistíš jestli se
protíná kružnice Pacmana s obdelníkem stěny a pokud ano, řekneš co se má
stát. Podobně to platí s duchy.
3 - Game loop. Jedná se prakticky o nekonečnou smyčku, ve které vlastní hra
probíhá. Skládá se ze dvou základních bloků - Update a Render (nebo
jakkoliv si je pojmenuješ). V prvním bloku aktualizuješ scénu (zachycení
vstupu od uživatele a reagování na něj, posun Pacmana a duchů, výpočet
kolizí) a ve druhém se scéna vykreslí. Takhle to jede do nekonečna. http://gameprogrammingpatterns.com/game-loop.html
4 - Pohyb duchů. Konkrétně v Pacmanovi jsou duchové individuální (každý
má vlastní AI). Více se o tom dočteš tady: http://gameinternals.com/…ost-behavior
http://programujte.com/…-man-cast-2/
Zobrazeno 8 zpráv z 8.