Bludiště
Vítejte v závěrečném projektu! Pes se ocitl v bludišti z živého plotu. V editoru je program z lekce Podmínky, který psa spolehlivě provedl každou klikatou cestou. Spusťte ho a sledujte první mapu.
Pes chodí sem a tam a do cíle se nedostane. Proč? Na klikaté cestě byla v každém místě jen jedna možnost, kudy pokračovat. V bludišti jsou ale křižovatky. Program z lekce Podmínky na křižovatce vždycky jde rovně, takže do bočních cest nikdy neodbočí. Dojde na konec chodby, otočí se, dojde na druhý konec a tak pořád dokola. Program, který na jedněch datech funguje, se na jiných může chovat úplně jinak. Proto se programy testují na co nejrůznějších vstupech.
Na bludiště existuje jednoduchý a slavný algoritmus: pravidlo pravé ruky. Položte pravou ruku na stěnu bludiště a nikdy ji nesundávejte. Jdete-li pořád podél stěny, dojdete do cíle v každém bludišti, ve kterém jsou všechny stěny spojené. Takové jsou i bludiště v tomto kurzu.
Pro psa to znamená tohle. Při každém průchodu cyklem:
- Když je cesta vpravo, otočí se doprava a udělá krok.
- Jinak, když je cesta vpřed, udělá krok.
- Jinak se otočí doleva.
Všimněte si, že v prvním bodě pes po otočení doprava hned udělá krok. Kdyby ho neudělal, v dalším průchodu by znovu viděl cestu vpravo (tu, ze které právě přišel) a točil by se pořád dokola. Ve třetím bodě naopak stačí jen otočení: v dalším průchodu se pes rozhodne znovu, už s novým výhledem. Ve slepé uličce se tak dvakrát otočí doleva a vrátí se.
Stejná rozhodování už znáte z lekce Podmínky, jen je potřeba změnit jejich pořadí a obsah. Upravte program, nebo ho postavte znovu.
Pokyny
Upravte program tak, aby pes podle pravidla pravé ruky došel do cíle na všech třech mapách.
Začněte programovat zdarma
1/3