1. |
Napíšte program, ktorý umožní zahrať sa domino-tetris:
-
hracia plocha je štvorcová sieť šírky SIR a výšky VYS políčok
(sú konštanty programu, napr. SIR=7; VYS=10)
-
zvrchu padajú do tejto hracej plochy hracie kamene, ktoré
sú obdĺžniky buď 1x2 alebo 2x2;
-
hráč môže pomocou klávesnice ovládať toto padanie:
-
zadefinujeme si konštanty programu, napr.
vlavo=#75; vpravo=#77; padni=' '; otoc=#13;
-
posúvanie hracieho kameňa vľavo, resp. vpravo klávesmi vpravo,
resp. vlavo (ak tam nie je prekážka)
-
kláves otoc otočí kameň o 90 stupňov tak, že ľavý horný roh
kameňa je stále na tej istej pozícii;
-
kláves padni spôsobí zrýchlené padanie kameňa (použite dve
konštanty cas1 a cas2, ktoré sú pozdržaniami pre normálne a zrýchlené padanie);
POZOR! aj počas "pozdržania" by mal hráč mať možnosť ovládať padanie z
klávesnice.
-
padajúci kameň sa zastaví na prekážke pod sebou (nahromadené
kamene alebo dno hracej plochy);
-
program po dopade kameňa vyhodí všetky úplne zaplnené riadky
(riadky nad nimi spadnú nižšie) a vygeneruje v hornom riadku na náhodnej
pozícii nový hrací kameň, náhodnej farby (od 1 do 6) a náhodného natočenia;
-
ak po vygenerovaní nového kameňa zistí, že je hracia plocha
pod ním zaplnená, tak vypíše správu 'MAS SMOLU' a program končí;
-
políčko hracej plochy je rozmeru 2x3 (napr. plných alebo
rámikových) znakov;
-
celá obrazovka mimo hracej plochy je nejako farebne odlíšená
(napr. šedá).
Hraciu plochu reprezentujte objektom s metódami na inicializáciu,
vykreslenie, generovanie nového kameňa, padanie kameňa a pod.
Program by sa mal dať v ľubovoľnom okamihu prerušiť klávesom
ESC.
Nepoužívajte GotoXY. |