Autorské riešenie Najskôr si ukážeme, ako nakresliť jednu vločku. Nakreslíme jedno rameno, vrátime sa späť a otočíme sa. Toto opakujeme toľko krát, koľko je ramien vločky. Prvá verzia kreslí vločku, ktorá má r ramien a každé má dĺžku d. viem vlocka :r :d
[opakuj :r [do :d vz :d vl 360/:r ] ] Procedúra vločka však nakreslí len jednu, jednoduchú vločku. Na konci jej ramien nie je nič. Ak chceme kresliť na konci jej ramien aj ďalšie, menšie vločky, upravíme ju nasledovne: viem vlocka :r :d
[opakuj :r [do :d vlocka :r :d/2 vz :d vl 360/:r ] ] Lenže vy už isto viete, že táto procedúra by asi nikdy neskončila. V každej vločke by sme volali ďalšiu vločku a v nej ďalšiu vločku a v nej ... Musíme teda vymyslieť, ako volanie vločiek zastaviť. Použijeme ešte jeden parameter - u, ktorý bude číslovať, koľko krát musíme ešte vločku zavolať. Pri každom volaní ho zmenšíme o 1.
viem vlocka :r :d :u
ak :u >=1 [opakuj :r [do :d vlocka :r :d/2 :u-1 vz :d vl 360/:r ] ]
Najčastejšie chyby Chyby ste robili v tom, že ste kreslili len prvý vločku. Ďalšie, menšie na konci je ramien ste nenakreslili vôbec, alebo ste nenakreslili všetky. | ||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |