Skúška z programovania pre 1i, 1MI a 1FI
11.1.2000 po
  1. Napíšte program, ktorý umožní jednému hráčovi zahrať sa hru Žabky:
  2. Bitmapu jazera vykreslite tak, aby dolný okraj bitmapy bol na dolnom okraji grafickej plochy (draw môže mať zápornú y-ovú súradnicu), kamene sú rozostavené vo vzdialenosti 50 od seba (nemuseli by byť na jednej priamke, ale náhodne <-10,10> okolo myslenej priamky) 100 pixelov od spodného okraja plochy. Prvý kameň nech je 200 od ľavého okraja. Skákanie žabiek animujte, t.j. pomocou časovača rozložte skok na niekoľko etáp (aspoň 5). Žabky, resp. kamene zadefinujte ako inštancie tried s metódami na inicializáciu, skákanie, zistenie, či sa kliklo a podobne.
    V programe použite konštanty na počet žabiek N, výšku výskoku V a pod., napr.
      const N=7; V=100;
  1. Napíšte program, ktorý bude riešiť nasledovnú úlohu: textový súbor subor.txt obsahuje postupnosť príkazov pre korytnačku, ktorá popisuje nejaký obrázok. Každý príkaz v súbore začína reťazcom písmen a za niektorými príkazmi je aj celočíselný parameter. Príkazy aj číselné parametre sú navzájom oddelené aspoň jednou medzerou, resp. koncom riadkov. V súbore sa môžu vyskytnúť len tieto príkazy: dopredu, vlavo, vpravo, opakuj a koniec, pričom okrem koniec majú všetky ostatné jeden parameter. Prvé tri príkazy zodpovedajú metódam triedy Kor.

  2. Príkaz opakuj umožní opakovať nejakú postupnosť príkazov zo súboru ukončenú príkazom koniec. Počítajte s tým, že medzi príkazmi v "tele cyklu opakuj", môžu byť opäť vnorené cykly opakuj, napr.
      opakuj 3 opakuj 4 dopredu 100 vlavo 90 koniec vpravo 120 koniec
    nakreslí 3 navzájom pootočené štvorce.
    Na vykreslenie súboru zadefinujete triedu mojaKor potomka triedy Kor, ktorá bude obsahovať stavové premenné a metódy:
      prikazy:array of príkaz;     // prikaz je napr. záznam o jednom príkaze v postupnosti
      kresli(meno:string);         // meno súboru - načíta súbor do štruktúry
      vykonaj(x:integer);          // x je číslo záznamu v poli
      opakuj(n:integer; x:integer); // n je počet opakovaní
    Parameter x v metódach Vykonaj a Opakuj obsahuje číslo záznamu v dynamickom poli, od ktorého sa majú interpretovať príkazy.
    Metóda Vykonaj na príkaze koniec skončí, na príkaze opakuj zavolá metódu Opakuj (Opakuj pre n<1 neurobí nič).
    Môžete predpokladať, že súbor je zadaný korektne a neobsahuje žiadne iné príkazy ani iné znaky.
© AB
Skúška Z04/2000