Prvni commit.
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
/*
|
||||
* [Česky]
|
||||
* Projekt: Robot Karel
|
||||
* Copyright: Viz KOPIROVANI v kořenovém adresáři projektu
|
||||
*
|
||||
* [English]
|
||||
* Project: Karel, the Robot
|
||||
* Copyright: See COPYING in the top level directory
|
||||
*/
|
||||
|
||||
// JavaScript - slovník
|
||||
|
||||
// ===========================================================================
|
||||
// =~ Globální proměnné ~=====================================================
|
||||
|
||||
// Příkazy
|
||||
//
|
||||
// Každý příkaz má následující vlastnosti:
|
||||
//
|
||||
// jmeno jméno příkazu
|
||||
// systemovy true, pokud se jedná o systémový příkaz
|
||||
// zobrazit true, pokud má být příkaz zobrazen
|
||||
// ignoruj true, pokud příkaz neprovádí žádnou činnost
|
||||
// hlavicka true, pokud se příkaz může vyskytovat v hlavičce (před
|
||||
// názvem příkazu)
|
||||
// telo pole jednotlivých řádek. Jedna řádka příkazu je pole dvou
|
||||
// hodnot - příkazu a parametrů
|
||||
// syntaxe true, pokud příkaz vyžaduje kontrolu syntaxe (všechny
|
||||
// příkazy, které neprovádí žádnou činnost)
|
||||
// tooltip text nápovědy (není povinné)
|
||||
// spust vykonání příkazu, provádí i kontrolu syntaxe (když je
|
||||
// atribut syntaxe nastaven na true)
|
||||
// formatovac formátování příkazu. Pokud chybí, použije se obecný
|
||||
// formátovač
|
||||
// rozpoznavac rozpoznání příkazu. Pokud chybí, použije se obecný
|
||||
// rozpoznávač
|
||||
// ukladac ukládání příkazu. Pokud chybí, použije se obecní funkce
|
||||
// ukládání
|
||||
// kompatibilita verze, které příkaz znají
|
||||
// verze_ulozeni verze, ve kterých se příkaz ukládá. Pokud se v dané verzi
|
||||
// neukládá, je zobrazeno varování. Pokud se má uložit, ale
|
||||
// příkaz není s verzí kompatibilní, je zobrazena chyba. Pokud
|
||||
// se má uložit a je s verzí kompatibilní, pak se ukládá
|
||||
// prikaz true, pokud se jedná o příkaz. Pouze pro systémové příkazy
|
||||
// a to jen pro zobrazení v chybové hlášce
|
||||
//
|
||||
// Navíc existuje pro každý příkaz prikazy.prikaz["PŘÍKAZ"]
|
||||
//
|
||||
prikazy.seznam = new Array(
|
||||
{ jmeno: "prázdná řádka", systemovy: true, zobrazit: false, ignoruj: true,
|
||||
hlavicka: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.prazdna_radka,
|
||||
formatovac: prikazy.formatovac.prazdna_radka,
|
||||
kompatibilita: prikazy.min_VERZE_20,
|
||||
verze_ulozeni: prikazy.min_VERZE_20
|
||||
},
|
||||
{ jmeno: "komentář", systemovy: true, zobrazit: false, ignoruj: true,
|
||||
hlavicka: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.komentar,
|
||||
formatovac: prikazy.formatovac.komentar,
|
||||
ukladac: data.ukladani.uloz_komentar,
|
||||
nacitac: data.nacitani.nacti_komentar,
|
||||
kompatibilita: prikazy.min_VERZE_20,
|
||||
verze_ulozeni: prikazy.min_VERZE_20
|
||||
},
|
||||
{ jmeno: "název příkazu", systemovy: true, zobrazit: false, ignoruj: true,
|
||||
hlavicka: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.nazev,
|
||||
formatovac: prikazy.formatovac.nazev,
|
||||
ukladac: data.ukladani.uloz_nazev,
|
||||
nacitac: data.nacitani.nacti_nazev,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_20
|
||||
},
|
||||
{ jmeno: "prázdná řádka", systemovy: true, zobrazit: false, ignoruj: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.prazdna_radka,
|
||||
formatovac: prikazy.formatovac.prazdna_radka,
|
||||
kompatibilita: prikazy.min_VERZE_20,
|
||||
verze_ulozeni: prikazy.min_VERZE_20
|
||||
},
|
||||
{ jmeno: "komentář", systemovy: true, zobrazit: false, ignoruj: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.komentar,
|
||||
formatovac: prikazy.formatovac.komentar,
|
||||
ukladac: data.ukladani.uloz_komentar,
|
||||
nacitac: data.nacitani.nacti_komentar,
|
||||
kompatibilita: prikazy.min_VERZE_20,
|
||||
verze_ulozeni: prikazy.min_VERZE_20
|
||||
},
|
||||
{ jmeno: "KONEC, JINAK", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.KONEC_JINAK,
|
||||
syntaxe: true,
|
||||
formatovac: prikazy.formatovac.konec,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "KONEC", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.KONEC,
|
||||
syntaxe: true,
|
||||
formatovac: prikazy.formatovac.konec,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "KDYŽ", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.KDYZ,
|
||||
syntaxe: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.podminka,
|
||||
formatovac: prikazy.formatovac.podminka,
|
||||
nacitac: data.nacitani.nacti_podminku,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "DOKUD", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.DOKUD,
|
||||
syntaxe: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.podminka,
|
||||
formatovac: prikazy.formatovac.podminka,
|
||||
nacitac: data.nacitani.nacti_podminku,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "OPAKUJ", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.OPAKUJ,
|
||||
syntaxe: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.cyklus,
|
||||
formatovac: prikazy.formatovac.cyklus,
|
||||
ukladac: data.ukladani.uloz_OPAKUJ,
|
||||
nacitac: data.nacitani.nacti_OPAKUJ,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "AŽ", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.AZ,
|
||||
syntaxe: true,
|
||||
rozpoznavac: prikazy.rozpoznavac.podminka,
|
||||
formatovac: prikazy.formatovac.podminka,
|
||||
nacitac: data.nacitani.nacti_podminku,
|
||||
kompatibilita: prikazy.min_VERZE_11,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "RYCHLE", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.RYCHLE,
|
||||
syntaxe: true,
|
||||
formatovac: prikazy.formatovac.odsazeni,
|
||||
kompatibilita: prikazy.min_VERZE_12,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "POMALU", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.POMALU,
|
||||
syntaxe: true,
|
||||
formatovac: prikazy.formatovac.predsazeni,
|
||||
kompatibilita: prikazy.min_VERZE_12,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "STOP", systemovy: true, zobrazit: false,
|
||||
spust: prikazy.jadro.STOP,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true
|
||||
},
|
||||
{ jmeno: "KROK", systemovy: true, zobrazit: true,
|
||||
spust: prikazy.jadro.KROK,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true,
|
||||
tooltip: "Posune Karla o jedno políčko dopředu"
|
||||
},
|
||||
{ jmeno: "VLEVO-VBOK", systemovy: true, zobrazit: true,
|
||||
spust: prikazy.jadro.VLEVO_VBOK,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true,
|
||||
tooltip: "Otočí Karla jednou vlevo"
|
||||
},
|
||||
{ jmeno: "POLOŽ", systemovy: true, zobrazit: true,
|
||||
spust: prikazy.jadro.POLOZ,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true,
|
||||
tooltip: "Karel položí jednu značku, pokud je na políčku místo"
|
||||
},
|
||||
{ jmeno: "ZVEDNI", systemovy: true, zobrazit: true,
|
||||
spust: prikazy.jadro.ZVEDNI,
|
||||
kompatibilita: prikazy.min_VERZE_10,
|
||||
verze_ulozeni: prikazy.min_VERZE_10,
|
||||
prikaz: true,
|
||||
tooltip: "Karel zvedne jednu značku, pokud na políčku nějaká je"
|
||||
}
|
||||
);
|
||||
|
||||
// Příkazy přístupné podle jména
|
||||
prikazy.prikaz = new Object();
|
||||
|
||||
// Textové řetězce spojené s příkazy
|
||||
prikazy.JE = "JE";
|
||||
prikazy.NENI = "NENÍ";
|
||||
prikazy.KRAT = "KRÁT";
|
||||
prikazy.KRAT_text = escape(prikazy.KRAT);
|
||||
prikazy._KRAT = "-" + prikazy.KRAT;
|
||||
prikazy.podminky = [
|
||||
{ jmeno: "ZEĎ", test: mesto.JE_ZED },
|
||||
{ jmeno: "ZNAČKA", test: mesto.JE_ZNACKA },
|
||||
{ jmeno: "DOMOV", test: mesto.JE_DOMOV },
|
||||
{ jmeno: "VÝCHOD", test: mesto.JE_VYCHOD },
|
||||
{ jmeno: "SEVER", test: mesto.JE_SEVER },
|
||||
{ jmeno: "ZÁPAD", test: mesto.JE_ZAPAD },
|
||||
{ jmeno: "JIH", test: mesto.JE_JIH }
|
||||
];
|
||||
|
||||
|
||||
// ===========================================================================
|
||||
// =~ Základní nastavení ~====================================================
|
||||
|
||||
for ( var i = 0; i < prikazy.seznam.length; i++ ) {
|
||||
var prikaz = prikazy.seznam[i];
|
||||
if (! (prikaz.jmeno in prikazy.prikaz)) {
|
||||
prikazy.prikaz[prikaz.jmeno] = prikaz;
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
// =~ Příkazové konstanty ~===================================================
|
||||
|
||||
prikazy.HLAVICKA_KOMENTAR = prikazy.prikaz["komentář"];
|
||||
prikazy.HLAVICKA_PRAZDNA_RADKA = prikazy.prikaz["prázdná řádka"];
|
||||
prikazy.NAZEV = prikazy.prikaz["název příkazu"];
|
||||
prikazy.KONEC_JINAK = prikazy.prikaz["KONEC, JINAK"];
|
||||
prikazy.KONEC = prikazy.prikaz["KONEC"];
|
||||
prikazy.KDYZ = prikazy.prikaz["KDYŽ"];
|
||||
prikazy.DOKUD = prikazy.prikaz["DOKUD"];
|
||||
prikazy.OPAKUJ = prikazy.prikaz["OPAKUJ"];
|
||||
prikazy.AZ = prikazy.prikaz["AŽ"];
|
||||
prikazy.RYCHLE = prikazy.prikaz["RYCHLE"];
|
||||
prikazy.POMALU = prikazy.prikaz["POMALU"];
|
||||
prikazy.STOP = prikazy.prikaz["STOP"];
|
||||
prikazy.KROK = prikazy.prikaz["KROK"];
|
||||
prikazy.VLEVO_VBOK = prikazy.prikaz["VLEVO_VBOK"];
|
||||
prikazy.POLOZ = prikazy.prikaz["POLOŽ"];
|
||||
prikazy.ZVEDNI = prikazy.prikaz["ZVEDNI"];
|
||||
Reference in New Issue
Block a user