7. Skúška z programovania pre 1i, 1MI a 1FI
14.1.1999 do

 
1. Napíšte program, ktorý umožní zahrať sa pamäťovú hru štvorce:
  • Hracia plocha obsahuje 5 radov po 6 sĺpcov hracích políčok, každé políčko je na obrazovke veľkosti 5x8 znakov;
  • na týchto políčkach je náhodne rozhádzaných NSTV štvorcov náhodných farieb (vykreslené znakmi #178) – z 8 rôznych farieb (zvoľte sami);
  • program si náhodne vygeneruje postupnosť dĺžky NPOST týchto štvorcov, pričom štvorce sa v nej môžu opakovať; túto postupnosť hráčovi predvedie a jeho úlohou ju bude klikaním myšou zopakovať;
  • postupnosť program nepredvedie naraz celú ale najprv len prvý prvok z nej a ak hráč ho zopakoval dobre, predvedie prvé dva prvky atď.
  • ak sa hráč niekedy pri opakovaní postupnosti po predvedení počítačom pomýli, počítač ju zopakuje a nepredĺžuje postupnosť pokiaľ ju hráč správne nezopakuje;
  • postupnosť sa predvádza nasledovným spôsobom: príslušný štvorec sa zvýrazní tým, že sa prekreslí plnými znakmi #219 a každá farba štvorca zahrá nejaký rôzny tón dĺžky DELAY(800) – frekvencie tónov voľte z množiny {262,294,330,349,392,440,494,523};

  • štvorce rovnakej farby vždy hrajú rovnaké tóny;
  • ak sa hráčovi podarí zopakovať celú postupnosť, program ho za to pochváli nejakou správou a po stlačení ESC končí.
NSTV a NPOST sú konštanty programu, napr. const NSTV=6; NPOST=5. Hracie štvorce reprezentujte objektami s metódami na inicializáciu, vykreslenie, predvedenie a pod.
Program by sa mal dať v ľubovoľnom okamihu prerušiť klávesom ESC.
Nepoužívajte GotoXY.

 
 
2.

testovací textový súbor

ďalšie testovacie textové súbory
ďalšie testovacie textové súbory
ďalšie testovacie textové súbory
ďalšie testovacie textové súbory
ďalšie testovacie textové súbory

Napíšte program, ktorý pomocou súboru strom.txt nakreslí binárny strom. Na posledných vetvách tohoto stromu – listoch (t.j. vetvy, ktoré sa už ďalej nerozvetvujú) sa vytvoria červené (farba 4 ) korytnačky (prvky triedy VelaKor) – jabĺčka so zmeneným obrysom 6-uholníkom so stranou 5 (obrys nastavte pomocou metódy ZmenTvar) a sú natočené smerom nadol. Strom je nakreslený zelenou (2) hrubou čiarou a začína sa kresliť v (0,-200).
Textový súbor strom.txt obsahuje v každom riadku 4 celé čísla, ktoré popisujú jednu vetvu stromu aj s uhlami pre podstromy, ktoré z nej vychádzajú. Prvé číslo označuje hĺbku vetvy, ďalšie jej dĺžku a ďalšie dve čísla dva uhly – odklon od momentálneho smeru vľavo pre ľavý podstrom a vpravo pre pravý podstrom. Ak sú oba uhly nulové, označuje to, že daná vetva už nemá ďalšíe podstromy a teda je listom stromu (vygeneruje sa tu jabĺčko). Ak potrebujeme vykresliť vetvu nejakej hĺbky, tak treba v súbore nájsť prvý riadok tejto úrovne, ktorý ešte nebol použitý. Zrejme si treba pre každú úroveň pamätať, koľko riadkov zo súboru sme už spracovali. 

Vstupný súbor nemodifikujte a ani si ho nenačítavajte celý do pamäti.
Po vykreslení celého stromu jabĺčka pomaly popadajú na zem (približne y-súradnica -200).
Program by sa mal dať v ľubovoľnom okamihu prerušiť klávesom ESC.