Napíšte program, ktorý sa umožní hrať hru Jabĺčka:
Na strome je niekoľko červených jabĺčok a pod stromom
sa pohybuje vozík, do ktorého budeme zbierať tieto jabĺčka. Vozík sa pohybuje
samostatne konštantnou rýchlosťou buď zľava doprava alebo opačne (vždy
na kraji obrazovky zmení smer). Hrať budeme tak, že budeme myšou klikať
na niektoré jabĺčka a tieto začnú padať nadol (konštantnou rýchlosťou).
Ak ich pri ich páde zachytí vozík, tak sa budú voziť spolu s ním (na vozíku
sa objaví číslo = počet jabĺčok na vozíku) inak sa zastavia naspodu obrazovky.
Jabĺčka aj vozík realizujte pomocou objektov, napr. takto:
objekt = class // stavové premenné, napr. rýchlosť pohybu,
resp. padania
construcor Create(...); procedure posun; procedure kresli(g:TCanvas); end; jablcko = class(objekt) ... function klik(...):boolean; end; vozik = class(objekt) ... end;
V súbore strom.txt sú popísané jabĺčka na strome:
každý riadok popisuje jedno jabĺčko
obsahuje 4 čísla: x1, x2, y1 a y2 a reťazec -- meno súboru
s bitmapou
x-ovú súradnicu jabĺčka generujte náhodne v intervale x1..x2,
rovnako aj y-ovú súradnicu v y1..y2
Obrázok vozíka je v súbore vozík.bmp. Pozadie plochy,
na ktorej sú jabĺčka aj vozík, je v súbore plocha.bmp. Všetky bitmapy
s jabĺčkami aj vozík majú priesvitnú bielu farbu.
Napíšte program, ktorý umožní zahrať sa na počítači túto
hru:
na obrazovku sa pomocou korytnačej grafiky nakreslí
6 radov po 6 kvetinkách náhodne zafarbených červenou a zelenou farbou
hráč potom pomocou šípok (vľavo, vpravo, hore, dole) pohybuje
kurzorom (vodorovná modrá čiarka pod kvetinkou) na susedné kvetinky (začína
sa na ľavej hornej kvetinke); kvetinka, na ktorú sa postaví, sa prefarbí
(ak bola zelená, tak na červeno a naopak);
hra skončí, keď sú všetky kvetinky červené -- do plochy sa
vypíše správa o úspešnom ukončení a program už ďalej nereaguje na šípky.
Na kreslenie kvetinky zadefinujte triedu mojaKor:
mojaKor = class(kor) farba:boolean; // false =
zelená, true = červená
constructor Create(x,y:integer; ffarba:boolean); procedure lupen; procedure kvet; procedure zmen; end;
Metóda lupen kreslí lupeň kvetu - sú to dve navzájom
spojené štvrťkružnice, pričom predpokladáme, že kruh je 24-uholník so stranou
3. Metóda kvet kreslí kvet, ktorý sa skladá zo stonky dĺžky 40,
na ktorej sú dva lístočky (rovnakého tvaru ako lupene) a samotné okvetie
sa skladá zo 7 lupienkov, ktoré sú rovnomerne rozostavené. Metóda zmen
zmení farbu kvetu (premenná farba) a prekreslí kvet novou farbou. Všetkých
36 korytnačiek - kvetov je prvkami velaKor. Kurzor realizujte ako
ďalšiu korytnačku, ktorej tvar je modrá hrubá vodorovná čiara.