Files
vojta@alfred 4e5c55e846 Prvni commit.
2026-02-01 00:00:07 +01:00

119 lines
3.4 KiB
JavaScript

/*
* [Č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 - základní funkce pro panel nástrojů
// ===========================================================================
// =~ Globální proměnné ~=====================================================
// Informace o nástrojích
nastroje = new Object();
// Panel nástrojů
nastroje.nastroje = new Array(
[ "karel", "tip-karel", "Robot Karel",
"Přemísti Karla (jeden klik), otoč Karla vlevo (dvojklik)" ],
[ "domov", "tip-domov", "Domov", "Přemísti Karlův domov" ],
[ "zed", "tip-zed", "Zeď", "Postav, nebo zbourej zeď" ],
[ "znacka-plus", "tip-znacka-plus", "Polož značku",
"Polož jednu značku, nejvíce však 8 značek na jedno políčko" ],
[ "znacka-minus", "tip-znacka-minus", "Zvedni značku",
"Zvedni jednu značku, pokud je alespoň jedna na políčku" ],
null,
[ "smaz-vse", "tip-smaz-vse", "Vyčisti město",
"Vyčisti celé město, umísti Karla a domov do levého dolního rohu" ],
[ "smaz", "tip-smaz", "Posbírej značky",
"Posbírej všechny značky ze všech políček města" ],
null,
[ "nacist", "tip-nacist", "Načti město", "Načti uložené město (i slovník)" ],
[ "ulozit", "tip-ulozit", "Ulož město", "Ulož město pro budoucí použití" ],
[ "exportovat-k99", "tip-exportovat-k99", "Exportuj město",
"Ulož město do formátu Visual Karel 99" ]
);
nastroje.nastroje.id_prefix = "nastroje-";
nastroje.nastroje.mys = "nastroje.mys";
// Objekt pro práci s myší
nastroje.mys = new Mys(new Tooltip());
// ===========================================================================
// =~ Základní funkce pro práci s nástroji ~==================================
nastroje.zobraz_pozici = function (vyber)
{
if ( vyber ) {
document.getElementById("pozice-x").firstChild.firstChild.data = vyber.x+1;
document.getElementById("pozice-y").firstChild.firstChild.data = vyber.y+1;
} else {
document.getElementById("pozice-x").firstChild.firstChild.data = "\u2022";
document.getElementById("pozice-y").firstChild.firstChild.data = "\u2022";
}
}
nastroje.mys.prekresli_stav = function(nastroj, detail, zvyraznen, stisknut,
vybran)
{
tvoric.zvyraznovac(
nastroje.nastroje.id_prefix+nastroj, zvyraznen, stisknut, vybran);
}
nastroje.mys.proved_zvyrazneni = function(nastroj, detail)
{
return true;
}
nastroje.mys.proved_vyber = function(nastroj, detail)
{
switch ( nastroj )
{
case "smaz-vse": {
ladici_vypis(LADENI, "nastroje.mys.proved_vyber", "výmaz města");
mesto.vymaz_mesto();
return false;
}
case "smaz": {
ladici_vypis(LADENI, "nastroje.mys.proved_vyber", "výmaz značek");
mesto.vymaz_znacky();
return false;
}
case "nacist": {
data.nacitani.nacti();
return false;
}
case "ulozit": {
data.ukladani.uloz_mesto();
return false;
}
case "exportovat-k99": {
data.ukladani.export_mesto_k99();
return false;
}
default: {
ladici_vypis(LADENI, "nastroje.mys.proved_vyber", "změna nástroje na '"+nastroj+"'");
return true;
}
}
}
nastroje.vybrany = function ()
{
return nastroje.mys.vybran.info;
}
nastroje.vyber = function (nastroj)
{
nastroje.mys.vyber(nastroj);
}
nastroje.mys.tooltip.obnov = function (tooltip, info, detail)
{
tvoric.obnov_tooltip( tooltip, detail.ikona, detail.nadpis, detail.popis );
}