Skúška z programovania pre 1i, 1MI a 1FI
13.1.2000 do
  1. Napíšte program, ktorý umožní malým deťom skladať zámok z malých kartičiek:
  2. Pri končení programu sa momentálne rozloženie kartičiek v hracej ploche zapíše do súboru zamok.txt tak, že v každom riadku je popísaná jedna kartička -- riadok a stĺpec myslenej siete a poradové číslo kartičky v zozname vzorových kartičiek. Pri štarte programu, ak existuje súbor zamok.txt, sa tento načíta a hneď sa vygenerujú príslušné kartičky do hracej plochy.
    Zadefinujte konštantu programu sir, napr. na 200, ktorá vyjadruje šírku ľavej časti plochy -- v tejto časti na začiatku programu vygenerujte N vzorových kartičiek na náhodné pozície.
  1. Napíšte program, ktorý umožní hrať hru Jabĺčka:

  2. 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 inak sa zastavia naspodu obrazovky.
    Jabĺčka aj vozík realizujte korytnačkami, pričom všetky jabĺčka (triedy mojaKor) budú prvkami triedy velaKor. Jabĺčka budú mať tvar červenej kružnice (teda napr. 12-uholník). Vygenerované budú náhodne s y-ovou súradnicou >= 0. Korytnačka vozík bude mať tiež zmenený tvar napr. na obdĺžnik šírky sir a bude sa nachádzať na spodu grafickej plochy.
    V programe použite konštanty na počet jabĺčok, ich minimálnu a maximálnu rýchlosť padania a rýchlosť pohybu vozíka (rýchlosť je parametrom metódy dopredu), šírku vozíka, napr.
      const n=30; rjmin=4; rjmax=7; rv=3; sir=100;
    Trieda mojaKor by mohla byť deklarovaná napr. takto (môžete mierne zmeniť):
      mojaKor = class(Kor)
        rych:integer;
        vel:integer;
        constructor Create;
        function  Blizko(x,y:real):boolean; override;
      end;
    Konštruktor Create vygeneruje náhodnú pozíciu, náhodnú rýchlosť padania rych (z intervalu rjmin a rjmax), tvar napr. červená kružnica veľkosti vel (veľkosť strany 12-uholníka - náhodné číslo z nejakého intervalu). Metóda Blizko je predefinovaná, tak aby sa umožnilo kliknúť čo najpresnejšie na tvar korytnačky.
© AB
Skúška Z07/2000