Práca s korytnačkami

Definovanie procedúr spôsobom z Comenius Loga | Oslovovanie korytnačiek, aby vykonali daný príkaz | Klikni na mňa | Oznamy pre používateľov projektu | Okno Pamäť | Úlohy

Čo budeme robiť

Čo už musíme vedieť Naučíme sa Definovanie procedúr spôsobom z Comenius Loga
 
Ak chceme, môžeme využívať starý spôsob pridávania procedúr – základný príkaz edituj (skrátene ed) bol nahradený príkazom uprav (skrátene up). Môžeme si vyskúšať naučiť korytnačku niektorý z obrázkov z minulého dielu nášho tutorialu, napr. písmena T

? up "pismenoT

Keďže je Imagine objektovo orientovaný, otvorí sa nám dialóg Zmeň pre HlavnéOkno a jeho časť definovania procedúr. Sem môžeme zapísať príkazy, ktorými sa písmeno T nakreslí. Po ukončení dialógu tlačidlom OK, môžeme vyskúšať, či korytnačka pozná tento nový príkaz:

? pismenoT

Takýmto spôsobom môžeme zadefinovať aj ďalšie príkazy. Dnešný trend programovania ide iným smerom – treba sa na začiatku rozhodnúť, komu – teda ktorému objektu daný príkaz patrí, kto ho bude vykonávať a zadefinovať príslušný príkaz iba pre tento objekt. 

Toto je asi najväčší krok smerom k objektovému programovaniu a budeme sa s ním oboznamovať pri ďalších dieloch nášho tutoriálu. Ak však nepotrebujete (alebo z nejakého dôvodu nechcete) prejsť na takéto programovanie, môžete všetky príkazy, ktoré budeme definovať na niektorom z objektov definovať pre už spomínané Hlavné Okno, odkiaľ ho všetky objekty vidia.

Oslovovanie korytnačiek, aby vykonali daný príkaz

Položme na stránku ďalšiu korytnačku – vyberme tlačidlo  z horného pásu tlačidiel a kliknime niekde na stránku. Vznikne na nej nová korytnačka – Imagine jej dá automaticky nejaké meno. Korytnačku môžeme pomocou jej pravoklikového menu zmeniť, presúvať, dať ju navrch, upravovať jej tvar...

Korytnačka však vznikla ako neaktívna, teda nie je v zozname aktívnych korytnačiek a nevykonáva príkazy zapísané do príkazového riadka, vyskúšajme:

? znovu pismenoT ; písmeno nakreslí iba pôvodná korytnačka k1

Ak chceme, aby bola aktívna aj nová korytnačka – zrejme má meno k2, môžeme zapísať:

? odteraz [k1 k2] ; takto sa stanú aktívnymi vymenované korytnačky

? znovu pismenoT ; písmeno nakreslia obe korytnačky

V novom chápaní programovania sa však budeme na jednotlivé objekty obracať ich oslovením a požiadavkou na to, čo od daného objektu chceme, teda, ktorý príkaz má vykonať, napr.:

? k2'pismenoT ; písmeno T nakreslí iba korytnačka k2

Zápis predošlého príkazu: za menom korytnačky (alebo iného objektu) nasleduje apostrof – nájdete ho na anglickej klávesnici hneď pred klávesom <Enter> – a za ním (bez medzery) príkaz, ktorý chceme, aby korytnačka vykonala. Vyskúšajme:

? k1'dopredu 100

? k2'vľavo 90

Klikni na mňa
V rôznych aktivitách často potrebujeme robiť niečo, keď sa na korytnačku klikne. Najjednoduchšia ukážka takéhoto použitia je, keď sa má korytnačka náhodne posunúť a otočiť. Spomeňme si, čo všetko ste museli naprogrogramovať, aby sme tento efekt dosiahli v Comenius Logu – sledovať kliknutia, či to boli kliknutia na korytnačku, na ktorú, spracovať toto kliknutie...

V Imagine je riešenie veľmi jednoduché – korytnačke v jej rodnom liste môžeme zadefinovať udalosť priKliknutí, ktorá sa vykoná práve vtedy, keď sa na ňu klikne.

V pravoklikovom menu korytnačky k1 vyberme Zmeň k1 – otvorí sa nám jej rodný list, ktorá sa prvou stranou veľmi podobá na dialóg z Comenius Loga. V dolnej časti však pribudol riadok s označením priKliknutí. Zapíšme do neho 2 príkazy: do ? vl ? – otáznik znamená náhodný (ale pre daný príkaz vhodný a dobrý) vstup, t.j. nádodný počet krokov, náhodné natočenie a dá sa využiť aj pre iné príkazy ako napr. nechFP ?, nechHP ?, atď. Dialóg ukončime tlačidlom OK a skúsme kliknúť na korytnačku – pri každom kliknutí sa pohne a natočí.

Oznamy pre používateľov projektu
Keď sa ľubovoľný projekt otvorí je vhodné, aby mal niekde napísané, čo by s ním mal používať robiť – v našom prípade napr. klikať na korytnačku – inak je používateľ často bezradný a projekt môže považovať za nefunkčný. Takéto oznamy sme v Comenius Logu museli vypisovať korytnačkou. 
V Imagine je na to pripravený nový objekt – text, ktorý môžeme pridať na plochu pomocou výberu tlačidla  v hornom páse tlačidiel. Stlačme toto tlačidlo a kliknutím do stránky a ťahaním určime veľkosť textu. Do tohto textu môžeme niečo zapísať, meniť štýl, farbu a veľkosť písma rovnakým spôsobom ako sme zvyknutí napr. z textových editorov.
 
Okno Pamäť

Tak ako v Comenius Logu a v Imagine nájdeme okno Pamäť (stlačme F4 alebo v menu Ukázaťpoložka Pamäť). Jej vzhľad je však úplne iný ako v Comenius Logu – keďže Imagine podporuje objektové programovanie aj v Pamäti nájdeme jednotlivé objekty – napr. Stránka1, na nej korytnačka k1, korytnačka k2...
 


Úlohy
  1. Zadefinujte nejaké príkazy aj pre korytnačku k2 – napr. nech sa pohybuje tiež náhodne, ale s vždy s inak hrubým a farebným perom.
  2. Položte na stránku tlačidlo, ktoré zabezpečí zmazanie stránky a návrat korytnačiek do domovských pozícií.
  3. Vložte na stránku ďalšiu korytnačku, ktorá, keď sa na ňu klikne bude kresliť rôznofarebné štvorce.
  4. Vymyslite ďalšie obrázky, vložte na stránku korytnačky s príslušnými príkazmi pre udalosť priKliknutí.
Hotový projekt môže vyzerať napr. takto:



© Monika Tomcsányiová