doplním předchozí příspěvek:
Stále jsem na to nepřišel. Příkaz ke zdi vypadá takto:
Kód: Vybrat vše
Ke-zdi
dokud není zeď
krok
konec
konec
Proč tedy o něco složitější příkaz, který je ale také uzavřený v podmínce "Dokud není zeď", nefunguje jak bych očekával a Karel se snaží dělat krok do zdi?
Jsem začátečník, předpokládám, že jsem špatně napsal ten sled příkazů. Prosím vás o nápovědu.
DOPLNĚNO:
je to zvláštní, ale dnes to tu chybu už nedělá, a Karel běhal podél zdi dokola :) příkaz jsem nijak nezměnil, nahrál jsem příkazy z minula a spustil jsem je. Je to tedy vyřešené a já jsem rád, že to nebyla moje chyba, protože mám pocit, že tomu začínám rozumět, a tohle mě dost mátlo.
Pozměnil jsem příkazy pro stavbu budov tak, že příkaz "o-patro-výš" jsem napsal na konec příkazů "přízemí", "patro" a "patro s okny". Příkaz "patro-s-okny" jsem zároveň napsal na konec příkazu patro. Příkaz "přízemí" jsem změnil tak, aby práh karel stavěl už při stavbě přízemí.
Teď už myslím stavění budov odpovídá zadání.
Viz příkazy:
Kód: Vybrat vše
PŘÍZEMÍ
NA-START
OPAKUJ 3-KRÁT
KROK
VYPLŇ
KONEC
KROK
POLOŽ
OPAKUJ 3-KRÁT
KROK
VYPLŇ
KONEC
O-PATRO-VÝŠ
KONEC
Kód: Vybrat vše
O-PATRO-VÝŠ
ČELEM-VZAD
DOKUD NENÍ ZEĎ
KROK
KONEC
VPRAVO-VBOK
KROK
VPRAVO-VBOK
KONEC
Kód: Vybrat vše
PATRO-S-OKNY
KROK
OPAKUJ 4-KRÁT
VYPLŇ
DVOJKROK
KONEC
O-PATRO-VÝŠ
PATRO
O-PATRO-VÝŠ
KONEC
Kód: Vybrat vše
PATRO
OPAKUJ 7-KRÁT
KROK
VYPLŇ
KONEC
KONEC
Kód: Vybrat vše
STŘECHA
DVOJKROK
VYPLŇ
OPAKUJ 4-KRÁT
KROK
KONEC
VYPLŇ
VLEVO-VBOK
KROK
VLEVO-VBOK
KROK
VYPLŇ
DVOJKROK
VYPLŇ
VPRAVO-VBOK
KROK
VPRAVO-VBOK
KROK
VYPLŇ
KONEC
Kód: Vybrat vše
DO-DVEŘÍ
NA-START
DOKUD NENÍ ZEĎ
KROK
KDYŽ JE ZNAČKA
ZVEDNI
KONEC
KDYŽ JE ZNAČKA
POLOŽ
KONEC, JINAK
VPRAVO-VBOK
POLOŽ
KONEC
KONEC
KONEC
Kód: Vybrat vše
DOMEK
PŘÍZEMÍ
PATRO-S-OKNY
STŘECHA
DO-DVEŘÍ
KONEC
Kód: Vybrat vše
VILA
PŘÍZEMÍ
PATRO-S-OKNY
PATRO-S-OKNY
STŘECHA
DO-DVEŘÍ
KONEC
Kód: Vybrat vše
PANELÁK
PŘÍZEMÍ
OPAKUJ 4-KRÁT
PATRO-S-OKNY
KONEC
DO-DVEŘÍ
KONEC
A já si teď jdu lámat hlavu s bludištěm
DOPLNĚNO 2:
tak musím opět napsat, že příkaz "dokud není ..." zlobí. Zkouším to bludiště, a když příkaz uzavřu do "dokud není domov", očekávám, že jakmile bude Karel doma, zastaví se. Jenže on se nezastaví a pokračuje v provádění příkazů, jako by tahle podmínka vůbec neexistovala.
pomohl restart Karla (refresh stránky) a znovunahrání příkazů
DOPLNĚNO 3:
Karel řeší bludiště :)
Kód: Vybrat vše
HLEDEJ-DOMOV
KDYŽ JE ZNAČKA
ČELEM-VZAD
KROK
ČELEM-VZAD
KONEC, JINAK
POLOŽ
KDYŽ JE DOMOV
STOP
KONEC, JINAK
VLEVO-VBOK
OPAKUJ 3-KRÁT
KDYŽ NENÍ ZEĎ
KROK
HLEDEJ-DOMOV
KONEC
VPRAVO-VBOK
KONEC
KROK
ČELEM-VZAD
KONEC
KONEC
KONEC