IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Petr chodí po značkách

V ďalšom programe sa naučíme používať podmienené vykonávanie príkazov. Petríka necháme prechádzať sa po ploche okna, na ktoré rozmiestnime rôzne značky. Podľa značiek sa bude Petřík rozhodovať, ktorým smerom sa vydá ďalej.

Zo všetkého najskôr založíme nový program. Ako si iste spomínate z kapitoly 1, nový program vytvoríte v okne programov pomocou tlačítka Nový Poličkové grafika
. Pomenujte ho treba Značky.

V programe budeme potrebovať dva predmety, ktoré použijeme ako značky. V poli Spoločné premenné a funkcie skopírujte pravým tlačidlom myši prvok prázdne políčko Poličkové grafika
na dva nové predmety. Pomenujte je Doľava a Doprava. Premenovanie vykonáte napríklad tak, že kliknutím myšou na ikonu prvku prvok vyberiete a stlačením klávesov Alt + Enter zahájite editáciu mená prvku.

Vyvolajte editáciu novovytvorených predmetov dvojitým kliknutím ľavým tlačidlom myši na ikonky predmetov. Do prvku Doľava nakreslite zatočenú šípku vľavo, do prvku Doprava zatočenú šípku vpravo, napríklad takto: Poličkové grafika
a Poličkové grafika
. Kresliť môžete takto: Zvoľte nástroj kreslenie kružnice s hrúbkou čiary 5 bodov a nakreslite kružnicu. Pomocou vyplneného obdĺžnika štvrť kružnice vymažte prekreslením späť na zelenú. Nakoniec ceruzkou domaľujte špičku. Druhú šípku môžete preniesť kópií z prvej šípky s využitím výberu, po kópiu výber zrkadlovo prevráťte.

Pripravíme si plochu okna. Dvakrát kliknite na prvok označený plocha Poličkové grafika
. V editačnom poli sa objaví plocha programu. Vytvoríme cestu pre Petríka. Na plochu naskladajte predmety Doľava a Doprava tak, aby Petřík, až sa bude podľa nich riadiť, mohol chodiť po uzavretej dráhe. Nezabudnite, že Petřík vychádza z ľavého dolného rohu smerom doprava. Predmety na ploche môžete rozmiestňovať tak, že najskôr pretiahnete oba prvky z okna Spoločné premenné a funkcie niekam na plochu, kde je položíte. Potom ľavým tlačidlom myši predmety na ploche premiestňujete, pravým tlačidlom je kopírujete. Nepotrebný predmet zrušíte odhodením mimo plochu alebo prekrytím iným prvkom. Plocha môže vyzerať napríklad takto (cesta Petríka je vyznačená čiarkovanou čiarou so šípkami):

Poličkové grafika

Po príprave plochy programu sa pustíme do konštrukcie programu. Tentokrát začneme z opačného konca - od hlavného cyklu. Petřík má za úlohu neustále chodiť dookola po značkách, takže je zrejmé, že základom programu bude nekonečná slučka. Pripravíme si preto do programu prvok podmienené opakovanie príkazov Poličkové grafika
.

V skutočnosti neurobíme slučku nekonečnú, ale umožníme prerušiť program stlačením klávesy Esc. Použijeme funkciu vstupu kódu klávesy z klávesnice. Vieme, že vracia číselný kód (poradové číslo klávesy na klávesnici), preto potrebujeme funkciu k porovnaniu čísel. Porovnávacej funkcie pre čísla nájdeme v skupinke výpočty Poličkové grafika
, Podskupince porovnanie Poličkové grafika
. Použijeme funkciu nerovná Poličkové grafika
. Presuňte ju do podmienky cyklu kým platí Poličkové grafika
.

Prvým prvkom, ktorý budeme porovnávať, je vstup klávesy (nečaká na stlačenie) Poličkové grafika
. Pretiahnite ho do porovnávacej funkcie zo skupiny ovládanie Poličkové grafika
, Podskupiny klávesnica Poličkové grafika
. S podobným prvkom, s čakaním na stlačenie klávesy, sme sa už zoznámili v predošlých kapitolách. Rozdiel medzi prvkami spočíva v tom, že tento prvok na stlačenie klávesy nečaká. Ak nie je žiadny kód klávesy pripravený, vracia kód nestisknuté klávesu (je to číslo 0, ale my sa konkrétne hodnotou nemusíme zaťažovať, pretože máme k dispozícii symbolický kód žiadna klávesa nestlačené Poličkové grafika
).

Druhým porovnávaným prvkom je klávesa Esc Poličkové grafika
. Nájdeme ju v rovnakej skupinke ako funkciu vstupu klávesy, ale ešte sa musíme vnoriť trochu hlbšie, a to do podskupinek klávesy Poličkové grafika
a riadiace klávesy Poličkové grafika
. Je to číselná konštanta s hodnotou číselného kódu klávesy Esc, aby sme nemuseli kód klávesy poznať. Položte prvok do porovnávacej funkcie pod prvok funkcie vstupu klávesy.

Čo náš cyklus teraz robí? Prečítajte si poznámky u prvkov: "Kým platí, že nie je rovný vstup klávesy klávese Esc, opakuj príkazy (niečo)." Trochu krkolomne povedané, ale snáď je význam jasný. Cyklus sa bude opakovať, kým nepríde z klávesnice klávesa Esc.

Teraz naplníme telo cyklu opakuj príkazy Poličkové grafika
. Petřík sa bude pri svojej pochôdzke rozhodovať o ďalšom kroku podľa políčka, ktoré ležia pred ním. Pre rozhodovanie použijeme nový prvok, podmienené vykonanie príkazov Poličkové grafika
. Nájdete ho v skupinke riadenie programu * [ images/img/pe­tr_tutorial_ri­zeni.gif ]
. Prvok pretiahnite do tela cyklu opakuj príkazy [
images/img/pe­tr_tutorial_o­pakuj.gif *]
.

Po položení prvku podmieneného vykonanie príkazov si môžete všimnúť, že prvok v sebe obsahuje ďalšie tri prvky. Prvým prvkom je ak platí, že Poličkové grafika
. Je to test podmienky. S podobným prvkom sme sa už stretli pre podmienený cyklu. Prvok vykonáva test nejaké podmienky a ak je splnená, vykonajú sa príkazy v prvku potom vykonaj ** Poličkové grafika
. Ak nie je podmienka splnená, vykonajú sa príkazy v prvku **inak vykonaj
Poličkové grafika
.

V teste podmienky budeme testovať, či pred Petrík leží predmet pre otočenie doľava. Podobný test poznáme z predošlej kapitoly, a tak je vám zrejme už jasné, že použijeme prvky zhoda predmetov Poličkové grafika
, Predmet pred Petrik Poličkové grafika
a Doľava Poličkové grafika
. Vložte prvky do testu podmienky.

Do prvej vetvy (potom vykonaj Poličkové grafika
) Doplňte dva príkazy, krok Poličkové grafika
a vľavo Poličkové grafika
. Naša konštrukcia podmieneného príkazu má teraz tento význam: "Ak leží pred Petrík predmet pre otočenie doľava, urobí krok a otočí sa vľavo, inak bude robiť niečo iné."

Teraz vytvoríme to "niečo iné". Skopírujte pravým tlačidlom myši celú konštrukciu podmieneného príkazu ešte raz o trochu nižšie. Novovytvorený podmienený príkaz znova uchopte, tentoraz ľavým tlačidlom myši, a presuňte ho do druhej vetvy prvého podmieneného príkazu (vetva inak vykonaj Poličkové grafika
). Tak sme si zrýchlene "predpripravili" časť programu pre druhý prípad, otočenie doprava.

V novom podmienečnom príkaze nahraďte prvok Doľava Poličkové grafika
prvkom Doprava Poličkové grafika
. Podobne nahraďte prvok vľavo Poličkové grafika
prvkom vpravo Poličkové grafika
. Teraz už asi tušíte, čo bude Petřík robiť, ak nebude pred ním predmet pre otočenie doľava. Skúsi, či je pred ním predmet prikazujúca otočenie doprava. Ak áno, urobí krok vpred a otočí sa vpravo. Inak ... Čo má vlastne robiť inak? Nič iné už od neho nechceme, takže stačí, keď urobí krok Poličkové grafika
. Prvok kroku skopírujte pravým tlačidlom myši z vedľajšej vetvy podmienky.

Vyzeralo to zložito? Nebojte, už sme hotoví. Výsledný program vidíte na obrázku tu.

Poličkové grafika

Program spustite. Ak je všetko v poriadku, Petřík pobehuje medzi značkami a otáča sa na nich vľavo a vpravo. Chcete Petríka trochu zrýchliť? Dvojklikom myšou na prvku Petřík Poličkové grafika
vyvolajte editáciu sprajt Petríka (sprajt je animovaná postavička Petra). Stlačte tlačidlo Vlastnosti Poličkové grafika
. Objaví sa okno pre nastavenie vlastností sprajt. Do poľa Fáz na krok napíšte číslo 4 a stlačte Enter. Program opäť spustite. Petřík teraz behá ako blázon, ani sa nezadýchá.

Skúste Peťkovi pripraviť zložitejšie dráhu. Tu je jeden príklad:

Poličkové grafika
Poličkové grafika

 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 237x (129.34 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Petr (sú obsiahnuté v EXE súbore, ktorý možno v programe priamo otvoriť)

 

Všetky články v sekcii
Poličkové grafika
Článok pre vás napísal Panda38
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Programátor C++, WinAPI, ASM.
Aktivity