Zahrádka s podmínkou

Ostatní jazyky Petr Lite Políčková grafika Zahrádka s podmínkou

Prvek předmět před Petříkem můžeme použít nejen k položení předmětu před Petříka, ale také ke zjištění, jaký předmět se před Petříkem nachází. Testování předmětu využijeme v jiné metodě sázení zahrádky, založené na podmíněném cyklu.

Najděte v poli Základní prvky, koš, ve skupince řízení programu , prvek podmíněné opakování příkazů . Přetáhněte ho na začátek programu z minulé kapitoly (před všechny příkazy). Do těla cyklu opakuj příkazy přesuňte příkazy pro položení květiny před Petříka a krok. Za cyklem ponechejte prvky otočení vlevo a čekání na stisk klávesy. Ostatní prvky můžete vyhodit.

Prvek cyklu dokud platí slouží k testování podmínky určující, jak dlouho se mají příkazy v cyklu opakovat. My do podmínky cyklu uvedeme test zjišťující, zda je před Petříkem prázdné políčko. K sestavení podmínky použijeme prvek shodnost předmětů . Najdete ho v okně Základní prvky, koš ve skupince plocha . Prvek přetáhněte do prvku cyklu dokud platí . Do prvku shodnost předmětů vložíme dva prvky, které chceme porovnávat. Prvním z nich bude předmět před Petříkem , druhým prázdné políčko (z okna Společné proměnné a funkce). Zde je výsledek:

Zkuste program spustit. Petřík nasází květiny až k pravému okraji okna, otočí se nahoru a čeká na stisk klávesy. Možná vám činnost programu není zcela jasná, podívejme se proto na program podrobněji.

Jak funguje podmíněný cyklus? Popisy k prvkům cyklu nám říkají: "dokud platí (něco) opakuj příkazy (něco)". Při detailnějším pohledu to znamená následující. Cyklus na svém začátku vyhodnotí podmínku, zda je splněna. Pokud ano, provede příkazy uvedené v těle cyklu. Potom vše opakuje od začátku. Opět vyhodnotí podmínku a při jejím splnění znovu provede příkazy v cyklu. Není-li podmínka splněna, nic se neprovede. Cyklus se ukončí a program pokračuje dalšími příkazy za cyklem.

Náš prográmek bychom mohli popsat takto: Na začátku se cyklus ptá testovací funkce vyhodnocující podmínku: "Je tvá podmínka splněna?" Testovací funkcí je zde funkce pro porovnání předmětů. Ta zjišťuje: "Je před Petříkem prázdné políčko?" Pokud ano, odpoví cyklu: "Ano, podmínka je splněna." Cyklus v tom případě provede příkazy v těle cyklu - Petřík před sebe položí květinu a popojde o krok vpřed. To se opakuje až k okraji plochy. U okraje plochy testovací funkce zjistí, že před Petříkem již není prázdné políčko a sdělí to cyklu. Cyklus dále nepokračuje a ukončí se. Následuje otočení Petříka vlevo a zastavení programu s čekáním na klávesu.

Po položení květin v jedné řadě zůstane Petřík otočený vlevo, směrem na další řadu. Otestujeme, zda je před ním prázdné políčko, a pokud ano, přikážeme mu vysázet další řadu květin. Když se dostane opět na výchozí pozici, nebude již před ním prázdné políčko, ale vysázená květina, a tak se zastaví.

Takže teď vezmeme nový cyklus podmíněné opakování příkazů . Dejte ho na začátek programu a do jeho těla přesuňte (levým tlačítkem myši) dříve vytvořený cyklus spolu s příkazem pro otočení vlevo. Na konci programu zůstane příkaz pro čekání na stisk klávesy. Do podmínky vnějšího cyklu zkopírujte (pravým tlačítkem myši) podmínku testující prázdné políčko před Petříkem (uchopením za prvek shodnost předmětů ). Zde je výsledek:

Program je hotov, zbývá jen ho vyzkoušet.

Docela jednoduchý prográmek, ne? A co takhle si zkusit na závěr ještě jednu drobnůstku? Zkuste se zamyslet nad tím, jak co nejjednodušším prográmkem zajistit, aby Petřík zaplnil celou plochu cihlami. Můžete využít prvek předmět na pozici s Petříkem . A když nebudete vědět, stáhněte si ukázkový příklad Zedník.


 

Stáhnout

Staženo 213x (253.34 kB)
Aplikace je včetně zdrojových kódů v jazyce Petr (jsou obsaženy v EXE souboru, který lze v programu přímo otevřít)

 

  Aktivity (1)

Článek pro vás napsal Panda38
Avatar
Programátor C++, WinAPI, ASM.

Jak se ti líbí článek?
Celkem (1 hlasů) :
55555


 


Miniatura
Předchozí článek
Zahrádka s opakováním
Miniatura
Všechny články v sekci
Políčková grafika
Miniatura
Následující článek
Petr chodí po značkách

 

 

Komentáře

Avatar
Tomáš Pařízek:

Je to super. Jsi první kdo my vysvětlil jak tohle používat na tvorbu aplikací.

 
Odpovědět 12.9.2015 18:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.