Na začátečníka ten výsledek nevypadá nejhůř, jen bych radil nespoléhat na polohu domova ale spíš na nějakou pevnou pozici ve městě, třeba levý dolní roh. Pak Karla do výchozí pozice dostaneš velice jednoduše:
Kód: Vybrat vše
NA-START
DOKUD NENÍ ZÁPAD
VLEVO-VBOK
KONEC
OPAKUJ 2-KRÁT
KE-ZDI
VLEVO-VBOK
KONEC
KONEC
Šlo by to i opačně, doběhnout nejdřív k jižní zdi a pak teprve k západní, ale na konci by se Karel musel otočit čelem-vzad a uprostřed vpravo-vbok, takže by se zbytečně vrtěl a navíc by nešlo použít tak jednoduchý cyklus.
Rozebíráš všechny činnosti moc dopodrobna, pro hlavní program stačí rozdělit úlohu jen na hlavní bloky:
Kód: Vybrat vše
DOMEČEK
NA-START
PŘÍZEMÍ
PATRO
STŘECHA
NA-START
DO-DVEŘÍ
KONEC
Stejně tak je dobré najít místa která se opakují, a vytvořit pro ně vlastní příkaz, kterými je jako celek vyvoláš. Když pak budeš potřebovat něco změnit, najdeš to na jediném místě a změní ti to výsledek na mnoha místech programu zároveň

Přízemí se skládá ze dvou pokojů mezi kterými jsou dveře, takže si ho rozdělíme na další bloky:
Kód: Vybrat vše
PŘÍZEMÍ
POKOJ
DVEŘE
POKOJ
ŠPLHEJ
KONEC
Poslední příkaz ŠPLHEJ přemístí Karla o patro výš, do výchozí pozice pro další patro.
Pokoj se opět skládá z několika bloků:
Stavění okna je jednodušší, tak s ním začneme. Nejdřív Karel udělá krok, a pak položí 8 značek, to jsi trefil perfektně

. Krokem začíná každý stavěcí příkaz, takže se tím vytvoří i ta mezera u levého okraje, aby dům nestál přímo u zdi:
Zeď je trochu složitější, tam musí být dvě kostky nad sebou, takže Karel při stavění oběhne jakousi smyčku. Ta se dá provést jako opakování dvou zrcadlových C:
Kód: Vybrat vše
ZEĎ
KROK
OPAKUJ 2-KRÁT
VLEVO-VBOK
BUDUJ
KROK
VLEVO-VBOK
KONEC
KONEC
Úplně nejjednodušší jsou dveře, protože v nich leží jen práh (ten se nám ještě může hodit):
Přízemí máme postavené, Karel stojí o patro výš, a čeká co ho naučíme dál. Na patře jsou opět dva pokoje a mezi nimi okno, asi na schodiště

Všechno co potřebujeme už máme hotové z přízemí, tak to jen použijeme v dalším příkazu:
A to bylo celé patro, můžeme se pustit do střechy. Ta se skládá z rovné půdy a dvou šikmých boků, napadají mě dvě možnosti. Buď bude půda přes celou šířku domu, a boky ze dvou kostek spojených hřebenem, nebo se půda o jedno pole zkrátí a tříkostkové boky budou navazovat přímo na sebe. Druhá možnost vypadá že bude kratší:
Kód: Vybrat vše
STŘECHA
KROK
PŮDA
VLEVO-VBOK
OPAKUJ 2-KRÁT
BOK
KONEC
KONEC
Základ je tedy rovná deska ze šesti polí. Ta je posunutá doprava, aby se pak boky mohly snadněji opakovat a nemuseli jsme s Karlem šoupat sem a tam a různě ho natáčet:
Kód: Vybrat vše
PŮDA
OPAKUJ 6-KRÁT
KROK
BUDUJ
KONEC
KONEC
Samotný bok střechy se skládá ze tří kostek položených diagonálně, je dobré myslet na to aby Karel po poslední kostce byl nastavený do správného směru pro stavění dalšího boku. Kam bude mířit na konci už není důležité.
Kód: Vybrat vše
BOK
OPAKUJ 3-KRÁT
KROK
VLEVO-VBOK
KROK
BUDUJ
VPRAVO-VBOK
KONEC
VLEVO-VBOK
KONEC
A tím máme celý dům postavený, takže zbývá jen dostat Karla do dveří. Ty se vyznačují tím že na nich leží jen jedna značka, ale zaručeně budou v přízemí. To je jediná jistá věc, protože se nedá spoléhat že je nějaký šílený architekt v budoucnu nepřesune třeba do rohu. Takže Karla necháme doběhnout na startovní pozici a odtamtud začme prohledávat jedno pole po druhém, dokud nenajde takové, na kterém je jen jedna značka - a vida jak je takový práh užitečný:
Kód: Vybrat vše
DO-DVEŘÍ
KROK
KDYŽ JE ZNAČKA
ZVEDNI
KDYŽ JE ZNAČKA
POLOŽ
DO-DVEŘÍ
KONEC, JINAK
POLOŽ
VPRAVO-VBOK
KONEC
KONEC, JINAK
DO-DVEŘÍ
KONEC
KONEC
Tady konečně nastal čas pro použití rekurze. A samozřejmě je dobré ošetřit i stav že v některém poli není žádná značka, opět pro případ nějaké velké změny v projektu, třeba kdyby dům měl garáž a podobně

Bylo by dobré také hlídat jestli Karel neběží proti zdi, ale budeme prozatím doufat že nikoho nenapadne postavit dům bez dveří!
A teď nastala chvíle na druhou část úkolu, postavit panelák. Tu jsi vyřešil úplně jinak než jsem chtěl, přestavba domku nebyla v plánu, mělo se stavět na zelené louce. Ale uznávám že ti vyšel moc pěkný mrakodrap

Tak pro srovnání jak jsem na to šel já:
Kód: Vybrat vše
PANELÁK
NA-START
PŘÍZEMÍ
OPAKUJ 3-KRÁT
PATRO
KONEC
PŮDA
OKNO
NA-START
DO-DVEŘÍ
KONEC
Provedení je jasné, nejdřív přízemí, pak se na něj bouchnou tři patra a nakonec rovná střecha. Pro tu bysme si mohli vytvořit nový příkaz, a nebo použít to co máme, tedy půdu, a za ní doplnit jednu kostku. To už také máme naprogramované, sice pro účely vytvoření okna, ale účel to splní bez vedlejších efektů

A jako bonus si ještě můžeme udělat program na stavbu činžáku jaký jsi postavil ty, který se od toho původního domečku bude lišit jen větším počtem pater:
Kód: Vybrat vše
ČINŽÁK
NA-START
PŘÍZEMÍ
PATRO
PATRO
STŘECHA
NA-START
DO-DVEŘÍ
KONEC
Ze existujících stavebních bloků se dají vytvářet různé ptákoviny, třeba kosočtverec složený z boků střechy:
Kód: Vybrat vše
KOSOČTVEREC
OPAKUJ 4-KRÁT
BOK
KONEC
KONEC
Je dobré si před jeho spuštěním nejdřív Karla umístit do takového místa, aby nemohl narazit do stěny
A tady je celý kód včetně několika triviálních příkazů, které jsem ani nevypisoval:
Kód: Vybrat vše
Karel1.0%0AP%0A29%0ADOME%u010CEK%0912%2C14%2C15%2C16%2C12%2C17%2C1%0APANEL%C1K%0912%2C14%2C4%203%2C15%2C1%2C25%2C20%2C12%2C17%2C1%0ANA-START%093%20-6%2C7%2C1%2C4%202%2C13%2C7%2C1%2C1%0AKE-ZDI%093%20-1%2C6%2C1%2C1%0AP%u0158%CDZEM%CD%0918%2C19%2C18%2C21%2C1%0APATRO%0918%2C20%2C18%2C21%2C1%0AST%u0158ECHA%096%2C25%2C7%2C4%202%2C26%2C1%2C1%0ADO-DVE%u0158%CD%096%2C2%202%2C9%2C2%202%2C8%2C17%2C0%2C8%2C27%2C1%2C0%2C17%2C1%2C1%0APOKOJ%0922%2C20%2C22%2C1%0ADVE%u0158E%096%2C8%2C1%0AOKNO%096%2C23%2C1%0A%u0160PLHEJ%093%20-5%2C7%2C1%2C6%2C6%2C7%2C13%2C24%2C1%0AZE%u010E%096%2C4%202%2C7%2C23%2C6%2C7%2C1%2C1%0ABUDUJ%094%208%2C8%2C1%2C1%0A%u010CELEM-VZAD%097%2C7%2C1%0AP%u016EDA%094%206%2C6%2C23%2C1%2C1%0ABOK%094%203%2C6%2C7%2C6%2C23%2C27%2C1%2C7%2C1%0AVPRAVO-VBOK%094%203%2C7%2C1%2C1%0A%u010CIN%u017D%C1K%0912%2C14%2C15%2C15%2C16%2C12%2C17%2C1%0AKOSO%u010CTVEREC%094%204%2C26%2C1%2C1%0AKONEC