This commit is contained in:
severak 2021-01-13 01:17:21 +01:00
parent b59bd0d222
commit 0d26aaffd5
3 changed files with 114 additions and 33 deletions

View File

@ -9,6 +9,7 @@
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
border-collapse: collapse;
}
body {
@ -41,6 +42,10 @@
height: 480px;
}
#texty .error {
color: red;
}
#menu {
float: left;
width: 240px;
@ -95,6 +100,13 @@ function ui_cls_menu()
el_menu.innerHTML = "";
}
function ui_errormsg(txt)
{
el_texty.innerHTML += ("<p class=\"error\">" + txt.replace("\n", "<br/>") + "</p>");
el_texty.scrollTop = el_texty.scrollHeight;
}
</script>
<script type="application/lua">
@ -338,7 +350,7 @@ end
load_game, err = loadfile(gamefile, "t", setmetatable(game, {__index=_G}))
if err then
print(err)
window:ui_errormsg(err)
-- os.exit(1)
end
@ -370,7 +382,10 @@ print("#room_ord = " .. #room_ord)
print("#item_ord = " .. #item_ord)
print("#sum_ord = " .. #verb_ord + #room_ord + #item_ord)
walk("intro")
local ok, err = pcall(walk, "intro")
if not ok then
window:ui_errormsg(err)
end
window.document:getElementById("menu"):addEventListener("click", function(eL, ev)
local target = ev.target;
@ -380,7 +395,12 @@ window.document:getElementById("menu"):addEventListener("click", function(eL, ev
local i = tonumber(code)
issued_command[#issued_command+1] = text
process_param(menu2codes[i])
local ok, err = pcall(process_param, menu2codes[i])
if not ok then
window:ui_errormsg(err)
show_verbs()
end
ev:stopPropagation();
ev:preventDefault();

View File

@ -230,7 +230,8 @@ vyhled = item{
"Děti si hrajou na hřišti.",
"Důchodkyně pomlouvají tu dnešní mládež.",
"Vietnamc si šel zakouřit před večerku.",
"Gopnici ve vchodu tančí na hardbass."
"Gopnici ve vchodu tančí na hardbass.",
"Nikde nikdo s rouškou - není to tím, že je rok 1995?"
},
open="Okno raději otvírat nebudu, mohl by se sem dostat smog."
}
@ -273,6 +274,7 @@ intro = room{
d=[[SYREČKY 2019 - technologické demo
(verze z 17.8.2019)
(technicky aktualizováno v lednu 2021)
Tvým cílem je donést otci syrečky z kuchyně.

View File

@ -47,6 +47,9 @@ optimalizovat GVD na hraní - zastavení stojí 3 minuty (výstup, případná a
]]
-- TODO - randomp
-- TODO - počítání zpoždění
-- čas:
vars.hh = 4
vars.mm = 0
@ -58,7 +61,7 @@ vars.vypil_kafe = false
-- slovesa
hraj = verb{
n = "hraj",
n = "pokračuj",
act = function()
wait.always = true -- zapne sloveso čekej
inv.always = true
@ -141,9 +144,10 @@ wait = verb{
params = {},
always = false,
act = function()
p "OK. Čekáš."
-- TODO - před 4.15 trvá čekání 5minut
-- TODO - spouštění čekacích akcí z mapy
p "OK. Čekám."
if vars.vlak_jede and trasa[vars.vlak_pozice] then
p(trasa[vars.vlak_pozice])
end
end
}
@ -284,10 +288,39 @@ vlak = item{
-- VLAK:
trasa = {
[2] = "Vlak projíždí mezi rodinnými domky, vychází slunce.",
[3] = "Vlak brzdí před zastávkou Mlýnská.",
[5] = "Vlak přejíždí most nad čtyřproudovkou. Středem ulice projíždí poslední noční tramvaj.",
-- TODO
-- nádraží
[2] = "Vlak sebou hází na výhybkách při výjezdu z nádraží. Po levé straně se oddděluje hlavní trať.",
[3] = "Vlak projíždí mezi rodinnými domky, právě vychází slunce.",
-- mlýnská
[5] = "Vlak přejíždí most nad čtyřproudovkou. Středem ulice projíždí poslední noční tramvaj. Nebo je to snad už první ranní?",
[6] = "Vlak projíždí po náspu mezi továrními halami a komíny.",
[7] = "Vlak s rachotem přejíždí most přes řeku Kliku.",
-- obora
[9] = "Vlak projíždí kolem stažených závor. Přes den u nich bývá delší fronta, teď je tam jen jedna dodávka.",
[10] = "Poslední domy města se míhají kolem trati.",
[11] = "Před projíždějícím vlakem utíkají zající a koroptve.",
[12] = "Široko daleko nic, co by stálo za pohled. Jen pole a dráty.",
-- pustá pole
[14] = "U polňačky vyplašil vlak vrány sedící na kříži nechráněného přejezdu.",
[15] = "Vlak projel okolo rybníčka zahaleného do mlhy.",
[16] = "Souběžně s tratí vede silnice. Jede po ní traktor.",
[17] = "Vlak míjí hřbitov na kraji vesnice.",
[18] = "Vlak projíždí mezi domy a zahradami.",
-- slaměná lhota
[19] = "Na přejezdu za okny čeká hovnocuc.",
[20] = "Občas je hranice mezi jednou vesnicí a druhou skoro neznatelná - jako třeba teď. Jenom cedule s názvem vesnice u souběžné silnice, jinak žádná nápověda.",
[21] = "Vlak zpomaluje a jede úzkým úsekem mezi domy, kde je trať vedena silnicí.",
-- čertův hrádek
[23] = "Nad údolím s chatičkami zlověstně vykukují věže Čertova hrádku.",
[24] = "Támhle v řece! To přece byla nahá holka!",
-- mokré hamry
[26] = "Vlak projíždí zářezem ve skále, skoro to vypadá na tunel.",
[27] = "Okolo oken se míhají stromy. Vlak projíždí lesem.",
[28] = "Před oknem se otevřelo úzké údolí, aby se vzápětí zase uzavřelo. Vlak projel po vidaduktu přes rokli.",
-- sanatorium
[30] = "Zpoza borovic vykukuje dlouhá zeď ústavu choromyslných táhnoucí se souběžně s tratí, po které jedeme.",
[31] = "Za polem se rýsují obrysy města, ke kterému se blížíme.",
[32] = "Vlak projíždí kolem jakéhosi zchátralého průmyslového areálu, asi sila."
}
function vystup()
@ -310,7 +343,8 @@ kabina = room{
vagon1 = room{
n = "První vagón",
d = "...",
d = [[Podél velkých oken se táhne řada sedaček.
Na čele jsou dveře do kabiny strojvůdce s mozaikou železničních fotografií.]],
exits = {
{"do druhého vagónu", "vagon2"},
{"do kabiny strojvůdce", "kabina"},
@ -318,9 +352,19 @@ vagon1 = room{
}
}
okna1 = item{
n = "okna",
desc = function()
p "Koukáš z okna:"
p(trasa[vars.vlak_pozice])
end,
w = "vagon1"
}
vagon2 = room{
n = "Druhý vagón",
d = "...",
d = [[Podél velkých oken se táhne řada sedaček.
Od prvního vagonu se tento liší jen tím, že je tu navíc WC.]],
exits = {
{"do prvního vagónu", "vagon1"},
{"na wc", "wc"},
@ -329,6 +373,8 @@ vagon2 = room{
}
}
-- TODO - i zde okno
wc = room{
n = "WC",
d = "Záchod ve vlaku...",
@ -357,7 +403,7 @@ z_mlynska = room{
z_obora = room{
n = "Obora",
d = "..."
d = "Malé nádražíčko mezi oboru, depem metra a sídlištěm."
}
-- TODO - pasažér zrzka
@ -365,26 +411,35 @@ z_obora = room{
z_pusta_pole = room{
n ="Pustá Pole",
d ="..."
d ="Jak už název napovídá, zastávka je v polích. A není tu zhola nic."
}
nic = item{
n = "nic",
desc = "Jak jsem říkal - nic tady není."
}
-- TODO - zde vystoupí pankáč, když neusne
z_slamena_lhota = room{
n = "Slaměná Lhota",
d = "..."
d = "V budově nádraží je slavná nádražní hospoda."
}
-- TODO - spící opilec na lavičce?
-- TODO - zde bude znít Time killer
z_certuv_hradek = room{
n = "Čertův Hrádek",
d = "..."
d = "Turistickou tvář zastávky doplňuje sádrový hrad mezi květináči s afrikány."
}
z_hamry = room{
n = "Hamry nad Lesy",
d = "..."
-- TODO - hrad a květináče
z_mokre_hamry = room{
n = "Mokré Hamry",
d = "Zastávka v lesním údolí. Sem jsem jako dítě jezdil na tábor."
}
-- TODO houby
@ -396,7 +451,7 @@ z_sanatorium = room{
z_zloduska = room{
n = "Zloduška",
d = "..."
d = "Konečná stanice na kraji malého města."
}
-- TODO nádraží s dalším automatem na kafe
@ -415,10 +470,13 @@ vypravka = item{
end
return
end
-- TODO - ve Zlodušce už mávat nepůjde, respektive přepne do nekonečného módu
if vars.vlak_pozice==33 then
p "Tady moje jízda už ale skončila."
return
end
-- TODO - ve Zlodušce už mávat nepůjde, respektive přepne do nekonečného módu
p "Zamával jsem výpravkou a zapískal a vlak se dal do pohybu."
p "Nastoupil jsem:"
@ -452,7 +510,7 @@ zastavky = {
[13] = "z_pusta_pole",
[19] = "z_slamena_lhota",
[22] = "z_certuv_hradek",
[25] = "z_hamry",
[25] = "z_mokre_hamry",
[29] = "z_sanatorium",
[33] = "z_zloduska"
}
@ -465,6 +523,8 @@ function round()
vars.mm = 1
end
-- TODO - události uváděť slovy "Potom" a "Mezitím"
-- upozornění na kafe:
if not vars.vypil_kafe then
if vars.hh==4 and vars.mm<16 and (vars.mm%3)==0 then
@ -476,7 +536,7 @@ function round()
-- nádražní hlášení
if vars.hh==4 and vars.mm==8 then
p "Nádražím zní hlášení:"
p "Mezitím zní nádražím hlášení:"
p "Z prvního nástupiště odjede expres číslo 263 Juraj Jánošík ve směru Nenastupovat, Trstina, Szombathély a Bratislava hlavná stanica. Vlak je připraven k odjezdu."
end
@ -488,10 +548,10 @@ function round()
end
if vars.hh==4 and vars.mm==18 then
p "Nádražím zní hlášení:"
p "Mezitím zní nádražím hlášení:"
p "Z nástupiště jedna Á odjede osobní vlak 320 ve směru Obora, Slaměná Lhota, Čertův hrádek a Zloduška. Vlak je připraven k odjezdu."
if w.game.me=="hala" then
if game.me.w=="hala" then
p "(Měl bych jít k vlaku, když už ho hlásí.)"
end
end
@ -508,16 +568,15 @@ function round()
-- jízda vlaku
if vars.vlak_jede == true then
vars.vlak_pozice = vars.vlak_pozice + 1
if trasa[vars.vlak_pozice] then
p(trasa[vars.vlak_pozice])
end
if zastavky[vars.vlak_pozice] then
p "Vlak zastavuje."
p "Vlak brzdí před zastávkou a zastavuje."
p "(Vystupuju, abych mohl vypravit vlak.)"
p ""
vars.vlak_jede = false
move("vlak", zastavky[vars.vlak_pozice])
-- TODO - dovnitr_zastavka
walk(zastavky[vars.vlak_pozice], true)
-- TODO - nastupující lidi zde
end
end
end