Napíšte program, ktorý umožní zahrať sa lunaparkovú hru Triafanie
balónikov:
hráč drží v ruke šípku (na ľavej strane obrazovky) a chystá
sa ju hodiť medzi balóny;
zo spodu obrazovky sa náhodne vynárajú rôznofarebné balóny
a rôznou rýchlosťou sa pohybujú na hor obrazovky (tam zasa zmiznú);
hráč môže pomocou myši ťahať svoju šípku hore-dole a keď
ju "švihne" (potiahne smerom vpravo a pustí), tak táto šípka letí (zadanou
rýchlosťou = horizontálny vektor, ktorý sa vytvorí pri švihnutí myšou);
počas letu šípka zostreluje letiace balóniky, ktoré jej prídu
do rany - v ľavom hornom rohu obrazovky sa vypisuje počet zostrelených
balónikov.
Balóniky reprezentujte ako inštancie tejto triedy (definíciu
môžete mierne zmeniť):
predmet = class x,y:integer; b:TBitmap; constructor create(nb:TBitmap;
nx,ny:integer); // ... ďalšie metódy end;
Všetky balóniky, ktoré sa pohybujú po ploche, uchovajte v
dynamickom poli, ktorého veľkosť sa mení podľa toho, ako sa balóniky objavujú
na spodu obrazovky a miznú navrchu, resp. po zasiahnutí šípkou. V nejakých
nepravideĺných časových intervaloch náhodne generujte balóniky rôznych
farieb, rôznych rýchlostí pohybu s rôznymi x-ovými súradnicami (v pravej
polovici plochy). Balóniky sú v piatich súboroch balon1.bmp, balon2.bmp,
...; šípka je v súbore sip.bmp - vo všetkých bitmapách by mala byť
biela farba priesvitná. Na pohyb všetkých objektov použite časovač.
Dávajte si pozor, aby ste ustrážili použitie bitmáp v
projekte - súbory s bitmapami čítajte len raz.
Napíšte program, ktorý umožní hrať hru Spájaj čísla (známej
z detských časopisov):
úlohou hráča je pospájať čísla na obrazovke vo vzostupnom
poradí od 1 do maximálneho, čím vznikne obrys nejakého obrázku;
hráč určuje čísla kliknutím ľavého tlačidla myši - ak neklikne
správne, ozve sa varovný tón (procedúra MessageBeep), ak klikne na správne
číslo, toto sa prefarbí (svetlošedou farbou) a ak to nebol prvý bod, tak
sa spojí čiarou s predchádzajúcim bodom;
ak sú pospájané všetky čísla, obrazovka sa zmaže a celý obrázok
z pospájaných čiar (už bez čísel) sa prekreslí hrubou čiarou - program
teraz už len čaká na ukončenie.
Čísla, t.j. vrcholy obrázku, realizujte korytnačkami (prvky
velaKor).
Tieto sa počas hry nebudú hýbať, iba budú vypisovať čísla a bude sa na
ne klikať. Vrcholy obrázku sú zadané v textovom súbore spoj.txt,
ktorý obsahuje dvojice čísel - súradníc bodov. Súbor je korektný. Korytnačky
realizujte triedou mojaKor (definíciu môžete mierne upraviť):
mojaKor = class(Kor) cislo:integer; constructor Create(x,y,ccislo:integer); procedure pis(farba:TColor); procedure ciara(x,y:real; farba:TColor);
// úsečka do daného bodu a vráti sa späť
end;