Nápověda ke Karlovi

English

Nápověda ke Karlovi

Rozvržení plochy

Pracovní plocha se člení na tři panely: nahoře nabídka, vlevo dvoreček a vpravo nápověda, případně něco jiného. V levém panelu vidíte na dvorečku Karla a pod dvorečkem okamžitý stav obvykle „OK, po vykonání některých slov také „ano nebo „ne a při běhu navíc informace o hloubce vnoření a o počtu průchodů cyklem.

V pravém panelu se zobrazuje podle potřeby nápověda, slovník nebo výpis programu. Pravý panel se používá také pro import a export slovníku.

Hlavní nabídka, export, import

Hlavní nabídka obsahuje tyto ovládací prvky:

Pozn.:

Kromě možnosti eportovat a importovat slovník lze aktuální stav slovníku průběžně ukládat do lokálního úložiště a při spuštění Karla pak obnovovat poslední uložený stav. Po první změně slovníku budete dotázáni, zda chcete aktuální stav slovníku ukládat. Pokud ano, slovník se uloží do lokálního úložiště do položky „KarelDictionary“. Tímto způsobem je možné pohotově pokračovat v práci, která byla přerušena. POZOR: Obsah úložiště je dostupný jen na tom počítači, kde byl uložen, a pro toho přihlášené uživatele, který obsah uložil. Chcete-li obsah slovníku přenést na jiný počítač nebo předat jinému uživateli, exportujte a importujte.

Slovník

Slovník se zobrazí v pravém panelu. Klepněte do slovníku na slovo, které chcete vybrat. V nabídce pak zvolte činnost, kterou chcete s vybraným slovem vykonat. Nabídka slovníku obsahuje tyto ovládací prvky:

Úprava slova

V pravém panelu se zobrazí program slova vybraného ve slovníku. Pod programem slova se zobrazí odkaz přidat na konec. Klepnutím na tento odkaz přidáte nový příkaz na konec programu slova a začnete jej upravovat. Je-li slovo prázdné, začněte tvořit program klepnutím na tento odkaz.

V nabídce se zobrazí přepínač s těmito volbami:

Úpravy slova ukončete např. klepnutím na tlačítko „slovník".

Úprava příkazu

V pravém panelu se zobrazí výpis programu slova. V horním panelu se zobrazí nabídka, která obsahuje aspoň tyto ovládací prvky:

Příkazy když, dokud, opakuj...krát a opakuj...až obsahují ještě další ovládací prvky.

Úprava příkazu když

V pravém panelu se zobrazí výpis programu slova. V horním panelu se zobrazí nabídka, která může obsahovat tyto ovládací prvky:

Úprava příkazu dokud

V pravém panelu se zobrazí výpis programu slova. V horním panelu se zobrazí nabídka, která může obsahovat tyto ovládací prvky:

Úprava příkazu opakuj ... krát

V pravém panelu se zobrazí výpis programu slova. V horním panelu se zobrazí nabídka, která může obsahovat tyto ovládací prvky:

Úprava příkazu opakuj ... až

V pravém panelu se zobrazí výpis programu slova. V horním panelu se zobrazí nabídka, která může obsahovat tyto ovládací prvky:

Běh, krokování, animace

Běh je co nejrychlejší a zobrazí se jenom výsledek, kdežto při krokování nebo animaci můžete sledovat chování Karla na dvorečku, průběžný stav a vykonávané příkazy. V nabídce se mohou objevit tyto ovládací prvky:

Nastavení konstant

Přímo v javascriptu v souboru „karel.htm se nastavují tyto konstanty:

dimension = 8; ...velikost Karlova dvorečku
ms_thisfilename = "karel.htm"; ...jméno souboru, který obsahuje Karla
machine__max_nest = 1000; ...mezní hloubka rekurze
machine__max_loops = 200; ...max. počet průchodů cykly „while“ nebo „until“
mi_speed = 5; ...přednastavená rychlost animace (objeví se v menu)

ms_importfile = spell["priklady"]; ...přednastavené jméno importovaného souboru (objeví se v menu)

Při dosažení mezní hloubky rekurze se zobrazí zpráva a Karel se zastaví. Do hloubky rekurze se kromě volání slov z programu započítává i vnoření strukturovaných příkazů „když, „dokud“ a „opakuj“.

Jazykové verze

Karel je nyní k dispozici česky a anglicky. Každá jazyková verze má svůj jazykový slovníček v souboru spell_cz.js nebo „spell_en.js. Chcete-li změnit jazyk, vytvořte kopii příslušného slovníčkového souboru a pojmenujte ji „spell.js.

Chcete-li vytvořit novou jazykovou verzi, vytvořte nový soubor s jazykovým slovníčkem a nový soubor s nápovědou. Jazykový slovníček obsahuje přiřazovací příkazy, vpravo od rovnítka je vždy text v daném jazyce. Položka „karhelp" obsahuje jméno souboru s nápovědou, např.:
spell ["karhelp"] = "khelp_cz.htm";

Autorská práva

Karla v javascriptu jsem napsal já, (c) Ivan Ryant 2000-2023. Poskytuji ho volně k nevýdělečnému šíření a užití. Případné jiné způsoby šíření nebo užití je potřeba projednat zvlášť.

Program se poskytuje, jak je. Program může obsahovat neúmyslné chyby, proto nedávám žádné záruky a zříkám se odpovědnosti za škody, které uživateli mohou vzniknout používáním programu. Případné připomínky nebo zprávy o nalezených chybách mi prosím sdělte nejlépe elektronickou poštou.

Poznámky k verzi

Tuto implementaci Karla jsem naprogramoval především proto, abych se naučil javascript. Takže jsem ho trochu sprasil a nadělal jsem do něj různé neúmyslné chyby, které je těžko odstranit. To bylo v srpnu 2000 až v lednu 2001.

V červenci-srpnu 2001 jsem se pokusil upravit Karla, aby chodil pod Netscapem. Musel jsem úplně předělat nabídku, protože se mi nedařilo nastavit atribut DISPLAY='none' v prvku DIV. Takže nestačí skrývat a odkrývat tlačítka v nabídce, nýbrž musím po každém kliknutí přepsat celý rám nabídky novým dokumentem. Přepisování se ovšem nesmí spustit tlačítkem, které se nachází v tom přepisovaném dokumentu, takže jsem všechna tlačítka nahradil hyperlinkem. Ze stejného důvodu nemohu naprogramovat rolety prvkem SELECT, takže i všechny prvky SELECT jsem nahradil hyperlinkem a seznam možností zobrazuju do rámu, kde se normálně nachází dvoreček. Při té příležitosti jsem naprogramoval i všechny přepínače jako hyperlinky. Dosáhl jsem toho, že anglická verze jakž-takž chodí, s českou abecedou jsou ovšem potíže (nejde jen o zobrazení, ale také o zpracování v javascriptu včetně uložení slovníku v javascriptových objektech).

V říjnu-listopadu 2002 jsem opravil všechny nově odhalené chyby a zlepšil ovládání. Opravil jsem mazání a přejmenovávání slov ve slovníku a chybu při editaci programu (místo prvního příkazu ve slově se smazaly všechny ostatní příkazy). Pod dvorečkem se nyní zobrazuje výsledek podmínky modifikovaný slovem je/není v příkazech dokud, když a opakuj...až (např. stojí-li Karel u zdi a vykonává příkaz když není zeď, zobrazí se NE, kdežto dříve se zobrazilo ANO; v případě příkazu když je zeď se nyní zobrazí ANO stejně jako dříve). Slovník se nyní exportuje do zvláštního okna, nikoli již do pravého panelu v NS lze uložit slovník volbou Save As. Po importu se v pravém panelu automaticky zobrazí slovník. Zavedl jsem omezení na počet průchodů cyklem, takže cykly nemohou být nekonečné (dřív byl omezen jen počet rekurzivních vnoření). Pole v javascriptu nyní indexuji textovými řetězci, které obsahují výhradně znaky ASCII (v podstatě kóduji řetězce šestnáctkově, dřív jsem indexoval přímo slovy ze slovníku snad tím pominou potíže s češtinou).

Koncem roku 2023 jsem přenesl Karla na aktuální verze webových prohlížečů Mozilla Firefox 120.0 pro Linux Mint (64 bitů) a Chromium verze 116.0.5845.102 (oficiální sestavení pro Debian).

Známé chyby

Pomocí ctrl-R se Karel znovu načítá chybně. Tatáž chyba se projeví i při kliknutí na příslušnou ikonu v záhlaví webového prohlížeče. Místo toho nastavte kurzor do adresní řádky (např. kliknutím myší) a klávesou Enter znovu načtěte celou stránku s Karlem.

Ostatní chyby známé k 8.12.2023 jsem odstranil.

Na podzim 2023 jsem přenesl Karla na aktuální webové prohlížeče. Původní webovou implementaci Karla jsem napsal v roce 2001 pod MSIE5. Úpravy v roce 2002 jsem dělal pod MSIE6. Pokusil jsem se upravit Karla i pro Netscape Communicator 4.78, ale bohužel ne zcela úspěšně:

Nevím, zda Karel bude správně fungovat pod jinými prohlížeči. Zásadní podmínka je, aby prohlížeč podporoval javascript a aby skripty nebyly zakázané. V MSIE se to nastaví volbou Nástroje/Možnosti Internetu/Zabezpečení/Vlastní úroveň/Skriptování: povolit. Potíže se mohou projevit při zobrazování dokumentů z keše místo dokumentů čerstvě generovaných. Já mám v MSIE zatrženo Nástroje/Možnosti Internetu/Obecné/Nastavení/Zjišťovat existenci novějších verzí uložených stránek: Automaticky. Použijete-li tlačítko „back, snad bude fungovat, ale nedivte se ničemu. Dojde-li k potížím s češtinou, zkuste nastavit českou kódovou stránku (např. windows-1250) jako default (např. v NS Navigator volbou View/Character Set/Set Default Character Set).

Připomínky nebo zprávy o nalezených chybách mi prosím sdělte nejlépe elektronickou poštou.