Navrhujeme projekt | Analyzujeme projekt | Programujeme | Vylepšujeme projekt | Úlohy
Čo budeme robiť
Na hracej ploche sa nachádzajú 3 kocky, ktoré sa akoby otáčajú. Úlohou hráča je stlačiť tlačidlo STOP vtedy, keď je aspoň na 2 z nich rovnaký počet bodiek.
C:\Program Files\Imagine\Obrazky\) V pravoklikovom menu korytnačkyk1 vyberme Zmeň k1, v dialógu kliknime na tlačidlo Tvar a vyberme súbor s obrázkom kocky: |
Ak sa nám zdá kocka malá, prejdime do záložky Tvar a v časti Zväčšenie napíšme napr. číslo 3, t.j. kocka sa bude zobrazovať ako 3x väčšia ako bola v skutočnosti nakreslená – súbor ani jej obrázok sa v skutočnosti nezmenili, zmenilo sa len jej zobrazovanie na stránke.
Kocku môžeme premiestniť na iné miesto na stránke – v jej pravoklikovom menu vyberme Presúvaj k1.
Ďalšie 2 kocky s rovnakým tvarom aj zväčšením získame kopírovaním tejto korytnačky cez schránku:
- v pravoklikovom menu korytnačky-kocky vyberme Skopíruj do schránky a v pravoklikovom menu stránky vyberme Prilep zo schránky
V riadku vyskúšajme, či funguje otáčanie
kocky, t.j. výmena jej záberov:
? k1'nechZáber 2
? k1'nechZáber 3
? k1'nechZáber 4
...
Takto by sme mohli pokračovať...
Vyskúšajme koľko bodiek bude na kocke,
keď záber, ktorý chceme nastaviť má väčšie číslo ako je skutočný počet
záberov tvaru korytnačky. Vidíme, že záber 7 je ten istý ako záber 1, záber
8 je rovnaký ako záber 2, atď.
Chceli by sme však, aby sa kocka otáčala, kým ju používateľ nezastaví tlačidlom STOP.
Na to, aby sa v Imagine dialo niečo dokola,
ale s prestávkami medzi oboma zmenami použijeme základný príkaz každých
(pozrite si jeho definíciu v Pomocníkovi).
? k1'každých 200 [nechZáber
záber+1]
Týmto sme pre k1 spustili
proces, ktorý každých 200 milisekúnd zmení
jej záber na ďalší.
Podobne môžeme pre k2
a k3
spustiť ich procesy:
? k2'každých 500 [nechZáber
záber+1]
? k1'každých 800 [nechZáber
záber+1]
Ak chceme procesy zastaviť, môžeme stlačiť tlačidlo v hlavnom paneli alebo stlačiť kláves F12.
Keď procesy spustíme s rovnakým počtom milisekúnd, budú sa bodky meniť v rovnakom čase a nikdy sa nestane, že by boli niektoré 2 z nich rovnaké.
Alebo naopak, ak všetkým nastavíme ich
záber na 1 a potom ich spustíme v jednom riadku naraz, bude na všetkých
3 vždy rovnaký počet bodiek:
? k1'každých 200 [nechZáber
záber+1] k2'každých 200 [nechZáber záber+1] k3'každých 200 [nechZáber záber+1]
Pozor, možno sú na vašej obrazovke tieto príkazy
vo viacerých riadkoch, ale treba ich zapísať do jedného príkazového
riadku bez stlačenia klávesu <Enter>.
Aby sa kocky otáčali nerovnako môžeme každej
z nich nastaviť iný počet milisekúnd. Alebo ak nám nevadí, že sa budú otáčať
nepravidelne, môžeme ich zábery meniť náhodne:
? k1'každých 200 [nechZáber
?] k2'každých 200 [nechZáber ?] k3'každých 200 [nechZáber ?]