-- Syrečky pro Hagen engine -- (c) Severák 2015 - 2019 -- / port z ALAN verze title = "Syrečky 2019" -- utils local function randomp(texty) return function() p(texty[math.random(1, #texty)]) end end -- slovesa cont=verb{ n="pokračovat", act = function() walk(here().cont) end } sever = verb{ n = "sever", act = function() walk(here().sever) end } jih = verb{ n = "jih", act = function() walk(here().jih) end } desc = verb{ n ="prozkoumej", params = {"desc"}, act = function(what) p("Zkoumáš " .. game[what].n .. ":") local description = game[what].desc if type(description)=='string' then p(description) elseif type(description)=='function' then description() end end } open = verb{ n ="otevři", params = {"open"}, act = function(what) local description = game[what].open if type(description)=='string' then p(description) elseif type(description)=='function' then description() end end } give = verb{ n = "dej", params = {"darovatelne", "komu"}, act = function(co, komu) -- tohle je trošku hack if komu=="naokno" then p "Na okno raději nic dávat nebudu. Mohli by to unést holubi." return end if co=="syrecky" then p "Dáváš otci syrečky." p "Otec: dík, synku." p "Dokázal jsi to! Dal jsi otci syrečky." p "Game over!" move("syrecky", "otec") else p("Dáváš otci " .. game[co].n .. ".") p "Otec: No co já s tím? Tohle nechci." end end } eat = verb{ n = "sněz", params = {"jedle"}, act = function(co) if co=="bageta" then p "OK. Dám si bagetu." p "* žvejk, žvejk, žvejk, žvejk" p "Jo... Byla docela dobrá." move("bageta", "void") elseif co=="syrecky" then p "Syrečky nesním:" p "a) neuvěřitelně páchnou" p "b) s plynovou maskou se dost blbě jí" p "c) kdybych je snědl, nešlo by tuhle hru vyhrát" end end } -- předměty a lokace -- OBÝVÁK obyvak = room{ n="Obývák", d="Normalní panelakový obývak. Na sever od něj je kuchyně.", sever="kuchyn" } maska = item{ n="plynovou masku", d="Plynova maska z dob ruske okupace.", desc="Stará protiplynová maska, patrně ruské výroby. Nechápu co dělala v pohovce.", w="pohovka", darovatelne = true } pohovka = item{ n="pohovku", d="Stará prašivá pohovka sotva drží. Pamatuje snad i druhou světovou.", desc = function() if maska.w=='pohovka' then p "Z pohovky čouhá něco divného, zkusím to vytáhnout." p "Wow! Je to plynová maska!" move("maska", "me") else p "V pohovce je už jenom prach." end end, w="obyvak" } otec = item{ n="otce", d="Na pohovce se valí otec a kouka se na telku.", desc="Tvůj fotr. Fešák.", w="obyvak" } -- tohle je trošku hack - neumíme moc dobře skloňovat, tak máme pro otce speciální objekt na obdarovávání otci = item{ n = "otci", komu = true, w = "obyvak" } televize = item{ n = "televizi", desc = randomp{ "V telce běží zápas pražských S.", "Fanoušci v televizi hážou dělobuchy.", "Právě běží reklama.", "V televizi je Horst Fuchs: A pokud zavoláte do deseti minut, dostanete ke každému noži koťátko zdarma." }, w = "obyvak" } -- KUCHYNĚ kuchyn = room{ n="Kuchyň", d="Umakartová kuchyň z doby vrcholného komunismu. Na jih od ní je obyvák.", jih="obyvak" } syrecky = item{ n = "syrečky", desc = "Strašně smradlavé syrečky. Smrdí tak mocně, že je to cítit i přes igelit.", w = "lednice", darovatelne = true, jedle = true } bageta = item{ n = "bagetu", d = "Na kuchyňské lince leží bageta.", desc = function() p "Typická bageta z benzínky. Kupodivu ani není prošlá." if game.bageta.w~="me" then p "Beru ji sebou." move("bageta", "me") end end, darovatelne = true, jedle = true, w = "kuchyn" } lednice = item{ n="lednici", d="Spořádaně tu vrní obstarožní lednice", desc = "Obstarožní lednička značky CALEX. Hotová hrozba pro životní prostředí.", open = function() p "Otevíráš ledničku. Dveře vržou." if syrecky.w=="lednice" then if maska.w=="me" then p "Syrečky strašne smrdí, bereš si na pomoc plynovou masku." move("syrecky", "me") p "Vypadáš přitom jak stalker ze stejnojmené počitačové hry, ale podařilo se ti vzít syrečky." else p "Strašlivý smrad syrečků tě donutil ledničku zase zavřít!" end else p "V lednici však už je jen \"Příšera, která žila v lednici vedle majonézy a za zelným salátem\". A ta tě nezajímá." end end, w="kuchyn" } vyhled = item{ n = "výhled", d = "A je tu krásný výhled na Jihozápadní město", w="kuchyn", desc = randomp{ "Paneláky dnes vypadají patřičně depresivně.", "Před barákem zrovna někomu kradou auto.", "Před barákem zrovna policajti rozdávají pokuty.", "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.", "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." } naokno = item{ n = "na okno", komu = true, w = "kuchyn" } -- META local sledovani = randomp{ "Otec se napil piva.", "GOOOOOOOOOOOOOOOL!!!!\nSparťani v televizi právě skórovali. Řve celé sídliště.", "Otec se raduje, Sparta vede 1:0 .", "Otec začína být nervózní.\nOtec: Tak kde jsou sakra ty syrečky?!" } local zrani = randomp{ "Otec spokojeně mlaská při žraní syrečků.", "Otec: To je dobrota, to je dobrota.", "Otec: Mňam, mňam...", "Otec slastně mlaská při žraní syrečků.", "Otec se olizuje až za ušima." } function round() if here().ref=="obyvak" then if syrecky.w=="otec" then zrani() else sledovani() end end end 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ě. Hru navrhnul Petr Kain v roce 2010, potom sloužila jako česká obdoba Cloak of Darkness.]], cont="obyvak", auto_command = "pokračovat" }