Karel

Jednoduché příkazy:
VPRAVO-VBOK
CELEM-VZAD

Vytvořte příkaz DVOJKROK.
CTVEREC - Karel oběhne čtvereček 2x2 políčka a zastaví se tam, odkud vyšel. Zkuste v zápisu příkazů využít DVOJKROK.
CTYRLISTEK - Karel běhne "hranatý" čtyřlístek. Zkuste využít předchozího příkazu CTVEREC.

Vytvořte příkaz KROK-ZPET: Karel se posune o 1 políčko zpátky a zůstane otočený stejným směrem, jako byl původně. (Můžete využít příkaz CELEM-VZAD).

Vytvořte příkaz L-UKROK: Karel se posune o jedno pole doleva a zůstane otočený stejným směrem, jako byl původně.
Vytvořte příkaz P-UKROK: Karel se posune o jedno pole doprava a zůstane otočený stejným směrem, jako byl původně.

Vytvořte příkaz L-SIKMO: Karel se posune "ULOPŘÍČNĚ" o jedno pole doleva a zůstane otočený stejným směrem, jako byl původně.
Vytvořte příkaz P-SIKMO: Karel se posune "ULOPŘÍČNĚ" o jedno pole doprava a zůstane otočený stejným směrem, jako byl původně.

Příkazy využívající OPAKUJ:
3-KROK
4-KROK
5-KROK
Zkuste napsat 4-KROK_2 který využije příkazu DVOJKROK.

PIRUETA - Karel se otočí na místě dokola.
2-PIRUETA - Karel udělá 2 piruety za sebou.
2-CTYRLISTEK - Karel oběhne 2x hranatý čtyřlístek 2x2 políčka.

Rekurze:
Rekurze znamená, že v určité části průběhu programu program zavolá sám sebe a začne se provádět znovu (opakovaně).
Příklad:
MARATÓN 
KROK       
MARATÓN 

KONEC
- název příkazu (programu) je MARATÓN
- funguje tak, že Karel udělá jeden krok
- a pak se znovu zavolá příkaz (program) MARATÓN, tedy se začně znovu od začátku: Karel udělá krok a pak se znovu zavolá příkaz (program) MARATÓN, tedy se začně znovu od začátku: Karel udělá krok a tak dále donekonečna nebo dokud někdo nebo něco běh programu nepřeruší. Vyzkoušejte.
KONEC

Zkuste pomocí rekurze udělat příkaz NEKONECNA-PIRUETA. (Nezapomeňte Karla červeným křížkem u názvu příkazu zastavit, aby se mu nezatočila hlava. ;-)  )
Dále zkuste rekurzí udělat příkaz NEKONECNY-CTYRLISTEK a SCHODY (pomocí L-SIKMO)

PODMÍNKY - KDYŽ:
Napište příkaz ZVEDNI? - Karel vezme značku, pokud na jeho políčku nějaká leží.

CHUZE_BEZ_BOULI - Karel když bude mít před sebou zeď, tak se otočí do leva a když bude mít před sebou volno, tak udělá krok.




ZVEDNI-VSE -   pomocí rekurze karel zvedá, dokud je co.


UKLID_MESTO - Karel postupně projde celé město a posbírá všechny značky, které kde leží.
Comments