Diskuze o textových hrách

Tvorba Textových her => Programování => Téma založeno: severak 21. Říjen 2015 - 23:49

Název: Syrečky
Přispěvatel: severak 21. Říjen 2015 - 23:49
Kdysi dávno jsem si hrál s jazykem na psaní textovek nazvaným Alan (http://alanif.se/). Mimo jiné jsem v něm implementoval takové demo - hru nazvanou Syrečky. Toto demo se osvědčilo, ještě jsem ho pak implementoval v  něčem jiném (už si bohužel nepamatuju v čem). No...

Každopádně dnes jsem zjistil, že zmíněné Syrečky nejsou můj nápad, ale že je navrhl Petr Kain v tomto článku - http://www.textovky.cz/tvorba-her/jak-vytvorit-vlastni-textovku-aneb-tgi-a-tge2-v-praxi/

Každopádně dobrá práce Kaine, chystám se tohle demo opět implementovat. :-D

(Jinak nevíte, zda lze někde stáhnout TGI a TGE2 zmíněné v článku odkazaném výše? Odkaz v článku je mrtvý...)
Název: Re: Syrečky
Přispěvatel: SoulSoft 22. Říjen 2015 - 09:30
TGE2 najdes v sekcii programovani/TextGame engine, na konci je posledna najnovsia verzia   :) :D ;D
Název: Re: Syrečky
Přispěvatel: KaiN 23. Říjen 2015 - 21:43
Ano, ano, Syrečky, to je moje nejlepší hra.  :D :D :D
Název: Re: Syrečky
Přispěvatel: SoulSoft 29. Říjen 2015 - 19:13
Syrecky prepisane do TextGame Engine 2 v prilohe :). 

To by ma zaujimalo z hladiska komplikovanosti ako by to vyzeralo v Tads, v Pedrovom engine, pripadne v nejakom inom existujucom editore (Adrift, Quest, Inform...).

EDIT:
- pridany obrazok scriptu
- pridana updatnuta verzia hry
Název: Re: Syrečky
Přispěvatel: gaspoda 30. Říjen 2015 - 10:30
To by ma zaujimalo z hladiska komplikovanosti ako by to vyzeralo v Tads

Hlásíš se jako dobrovolník? Sice to mohu celkem snadno napsat sám, ale možná by bylo mnohem zajímavější, kdyby to zkusil někdo jiný z fóra. Mohl by se pak s námi podělit o zkušenosti, co bylo jednoduché, co se mu na TADS líbilo a naopak třeba kde měl problémy nebo co nebylo jasné. Je fakt, že seriál o programování ještě není celý, takže akce a interakce s postavami nejsou vysvětlené, ale větší část byste měli zvládnout naprogramovat. Samozřejmě rád poradím s jakoukoliv otázkou.
Název: Re: Syrečky
Přispěvatel: SoulSoft 30. Říjen 2015 - 11:10
Ja by som mohol ale radsej by som to nechal na mladsich nech si to skusia.

Keby sa este niekto dalsi pridal (Pedro?) mohli by sme kazdy urobit v 3 rozlicnych verziach (TGE2, TXT, TADS) syrecky a dostatocne to este rozsirit podla seba. Ako vyzva na vikend? Pripadne Kain a pan prase by tiez mohli skusit vo svojich enginoch natukat ak maju cas a chut.

PS:Tutorialy co robis su velmi dobre a pochopitelne. A clovek co ma chut v tom robit si kopu veci vie zistit aj z manualov k TADS. Staci nejaka ta znalost anglictiny a pevne nervy pri hladani chyb v syntaxi.
Název: Re: Syrečky
Přispěvatel: pedromagician 30. Říjen 2015 - 16:07
Tak dobre teda, ale chvilku to bude trvat. Cez vikend sa k tomu urcite nedostanem :)

(https://lh4.googleusercontent.com/-evojd85YIuM/VjOIK0TTO5I/AAAAAAAAAqA/8K4L88ZWjMo/w711-h454-no/Syrecky.png)
Název: Re: Syrečky
Přispěvatel: SoulSoft 30. Říjen 2015 - 17:44
Vyzera to fakt dobre pedro  :o. Budes to aj rozsirovat ci pojde len o demo podla originalu?
Název: Re: Syrečky
Přispěvatel: pedromagician 30. Říjen 2015 - 17:47
uvidíme koľko ale aspoň trošku by som to chcel rozšíriť
Název: Re: Syrečky
Přispěvatel: gaspoda 30. Říjen 2015 - 18:35
Určitě se dá vymyslet spousta různých rozšíření, ale z hlediska porovnání by mi přišlo zajímavější se přidržet Kainova vzoru odkazovaném v prvním příspěvku co nejvíce. Totiž člověku se hned vybaví projekt Cloak of Darkness (http://www.firthworks.com/roger/cloak/ (http://www.firthworks.com/roger/cloak/)), což je právě jedna minimalistická hra implementovaná v 20 různých prostředích pro tvorbu interaktivní fikce. Nejde přeci o výslednou hru, ale o ukázání, jak se v tom kterém prostředí řeší ty samé problémy, aby si zájemce o programování mohl prohlédnout a porovnat zdrojáky mezi sebou. U prostředí, které nepoužívají textový zdroják, prosím alespoň několik screenshotů z editace hry.
Název: Re: Syrečky
Přispěvatel: tekket 30. Říjen 2015 - 21:08
tak já si to zkusím cvičně v Tads3, aspoň se do toho trochu dostanu. Doposud jsem zvládl pouze zprovoznit frobtads na linuxu, sehnat zvýrazňování syntaxe a nastavit editor pro pohodlnou kompilaci. A byl jsem z té vyhlídky na tvoření tak nadšený, že jsem dostal chuť si nějakou textovku zahrát a místo studia tads3 jsem si pustil Guild of Thieves od Magnetic Scrolls.

Gaspoda: jo, syrečky koukám mají zaděláno stát se českou obdobou Cloak of Darkness.
Název: Re: Syrečky
Přispěvatel: tekket 31. Říjen 2015 - 00:59
Tak tady to je. V příloze jsou Syrečky v TADS 3.
Název: Re: Syrečky
Přispěvatel: panprase 31. Říjen 2015 - 11:50
Hoši vy mne lákáte to udělat :)

Začneme Amigou - ano?
Název: Re: Syrečky
Přispěvatel: panprase 31. Říjen 2015 - 13:25
Mám to :) večer to vytuním :) a zejtra bude ADFko, bombička.
Název: Re: Syrečky
Přispěvatel: tekket 31. Říjen 2015 - 22:35
Na Gaspodu:
Ještě jsem zkoušel dát pohovce třídu Underside a masku jsem umístil do ní, ale po objevení masky jsem zjistil, že při popisu místnosti se mi zobrazí text:
Citace
Pod rozvrzanou pohovkou je plynovou masku

Tj. ve zprávě se objekt pod pohovkou zobrazí nesprávně ve 4.pádu místo prvního.

A mám podivný problém s listerem v inventáři. Např. když seberu masku, tak inventář vypíše:
Citace
Neseš ty plynovou masku

Stejně tak u syrečků. Teprve když mám oba předměty, tak se lister chová jak má. Např.
Citace
Neseš nakládané syrečky a na sobě máš masku.
Název: Re: Syrečky
Přispěvatel: gaspoda 31. Říjen 2015 - 23:31
Ještě jsem zkoušel dát pohovce třídu Underside a masku jsem umístil do ní, ale po objevení masky jsem zjistil, že při popisu místnosti se mi zobrazí text: Pod rozvrzanou pohovkou je plynovou masku
Vida, to už jsem před časem opravil. Asi je na čase hodit na web aktuální verzi překladu. Tak si ji kdyžtak stáhni a vyměň.

A mám podivný problém s listerem v inventáři.
Opravil jsem, o téhle chybě jsem nevěděl, díky.
Název: Re: Syrečky
Přispěvatel: tekket 31. Říjen 2015 - 23:55
Paráda, funguje to. Tomu říkám rychlost.
Název: Re: Syrečky
Přispěvatel: gaspoda 1. Listopad 2015 - 00:09
Jinak super a díky za naprogramování příkladu. Trochu jsem ho ještě učesal a dopsal do něj komentáře, příkládám ho níže. Pár opravdu jen drobností, které jsem pozměnil:

 
Název: Re: Syrečky
Přispěvatel: tekket 1. Listopad 2015 - 01:05
Díky za úpravy, bude zajímavé si porovnat, co jsi změnil.

isHim - zajímavé. globalParamName jsem si nebyl přesně jistý, k čemu je a jestli to npc potřebuje

GiveShowTopic - to dává smysl

actionDobjOpen vs dobjFor(Open) - k téhle verzi jsem se ještě nedopracoval. no vlastně jsem celkově sotva na začátku:) K fázím akcí jako check, verify, action... jsem se ještě ani nedostal.

To mě původně nenapadlo, že na pohovku už je třeba něco složitějšího.

Tu akci to ještě bude chtít změnit. Nyní když se podívám pod pohovku, tak neproběhne ta nakódovaná akce s Textem Nalezl jsi masku.... a místo toho vypíše standardní zprávu pro danou situaci. Také mi došlo, že první část podmínky, kdyby se spustila, zobrazí ten text, i když bych masku nesebral, nebo pod pohovku položil syrečky - to jsem zrovna nedomyslel.

Správněji by tedy akce měla při objevení masky pouze přepsat standardní zprávu pro výpis toho, co je pod pohovkou a dále již nechat Underside kontejner fungovat jako normálně.

Název: Re: Syrečky
Přispěvatel: tekket 1. Listopad 2015 - 01:13
S tím nápadem, že dám masku pod pohovku zdrojový kód nakonec slušně narostl:) Taky lekce.
Název: Re: Syrečky
Přispěvatel: gaspoda 1. Listopad 2015 - 11:02
Skutečně jsem toho zase tak moc neměnil, ale neodpustil jsem si opravit odsazení, to opravuji i dětem, když je učím programovat ;-)

V příštím díle seriálu budu právě vysvětlovat provádění akcí a k čemu jsou jednotlivá stádia verify, check, action atd.

globalParamName

Na vlastnost globalParamName jsem se sám musel podívat, protože jsem ji ještě nepoužil. Jde o parametry zpráv. Když píšeš nějaké zprávy, tak se do nich dají dosazovat názvy objektů (a třeba zájmena apod. vztahující se k těm objektům) pomocí parametrů. Ponejvíce toho využívá knihovna, protože ta potřebuje univerzální hlášky, které se hodí pro jakýkoliv objekt. Programátor píšící hru to potřebuje jen tehdy, kdy píše něco obecnějšího, jako fungl novou akci. Pokud už ale píše konkrétní chování jednoho konkrétního objektu, nemusí zprávu parametrizovat, může napsat rovnou ten konkrétní objekt.

Taková zpráva může vypadat třeba následovně: "{Kdoco dobj} už {je} pod {kýmčím iobj}. " V rámci takových zpráv jsou předdefinované názvy "dobj", "iobj" a "actor", které dosadí patřičný objekt. Tak např. {Kdoco dobj} vloží název přímého objektu v prvním pádu a s velkým písmenem na začátku. Když bychom se ve zprávě chtěli odvolat na něco jiného, než přímý či nepřímý objekt resp. postavu provádějící akci, můžeme si nový objekt zaregistrovat. Dělá se to zavoláním gMessageParam(s) s příslušnou proměnnou, která umožní pak použít parametr vztahující se k té dané proměnné, jako třeba ring nebo key:

Kód: [Vybrat]
    foundKeyOnKeyringMsg(ring, key)
    {
        gMessageParams(ring, key);
        return 'Zkusil{a} {jsi} každý klíč na {komčem ring} a zjistil{a} {jsi},
            že {kdoco key} pas{uje|oval[a key]} do zámku. ';
    }

Kromě iobj, dobj a actor (určité parametry, jako {a}, {jsi} apod. se automaticky vztahují k actor, pokud u nich není napsáno něco jiného, proto ve zprávách nemusí být {jsi actor}), které jsou registrované automaticky během zprácování akce, a kromě proměnných, které si uživatel sám ručně zaregistruje pro jednorázové použití pomocí gMessageParam(s), lze kterémukoliv objektu pomocí globalParamName určit nějaký název parametru a ten pak bude dostupný ve zprávách.

Tedy zavedl-li jsi globalParamName = 'otec', znamená to, že pak můžeš použít {komučemu otec} v nějaké zprávě, což se přepíše na "otci". Takhle tedy asi ne moc užitčné, ale třeba u některých postav ve hrách, které hráč nezná a během hry se s nimi seznámí, to může být užitečné. Třeba v Heidi je "uhlíř", který po seznámení je pak představován jako "Joe Black", proto má globalParamName = 'burner' a ve všech rozhovorech, kde je zmíněno jeho jméno, je dosazeno parametrem "Jakmile {jsi} podala prsten {komučemu burner}, jeho oči zaplály nadšením...". Zpráva se pak vytiskne buď s "uhlířovi" nebo "Joe Blackovi" podle toho, zda se s ním Heidi seznámila (příkazy "řekni o sobě" resp. "zeptej se na něj").

Rod

V anglické lokalizaci se rod nastavuje právě pomocí vlastností isHim resp. isHer, ale pro češtinu by to nebylo moc praktické. Angličtina totiž rody používá jinak. V podstatě všechno je "it", dokud to není živý objekt, takže nastavují tyto vlastnosti jen u pár objektů. V češtině jsou ale rody rozprostřeny v podstatě nahodile po všech živých i neživých objektech, a tak jsem pro zkrácení dělal ten zápis s hvězdičkou a číselným vyjádřením. V češtině tedy vlastnosti isHim/isHer/isIt jsou kompletně nahrazeny vlastností gender a z ní pak čerpají další metody, jako canMatchHim a další, které používá parser.

Komplexní kontejnery

Komplexní kontejnery jsou potřeba všude tam, kde určitý objekt potřebuje mít více než jeden druh kontainmentu. Např. stůl, na který i pod který lze položit věci. Nebo kontejner, který může mít uvnitř sebe věci, ale zároveň má i nějaké komponenty z venku. A právě postava sedící na posteli je také vlastně v kontejneru, takže spolu s prostorem pod to jsou dva různé kontejnery v rámci jednoho objektu. Komplexní kontejner je takový dispečer nebo proxy, která rozděluje požadavky na jednotlivé podkontejnery v rámci jednoho objektu a tím obchází limitaci kontejnerové hierarchie.

U té akce by to chtělo ještě pořešit LookUnder, resp. ono je více možností. Teď to funguje zhruba takhle:

Kód: [Vybrat]
>p pohovku
Pamatuje příjezd ruských vojáků do Prahy. Není jisté, zda ten první nebo až ten
druhý. Vypadá to, že pod pohovkou je schovaný nějaký předmět.

>p masku
Nic takového jako „masku“ tu nevidíš.

>podívej se pod pohovku
Pod rozvrzanou pohovkou je plynová maska.

>r
Obývák
Nacházíš se v obýváku. Rozvrzaná pohovka je jediný kus nábytku, který tu
momentálně je.

Pod rozvrzanou pohovkou je plynová maska.

Otec tu stojí.

>p masku
Pochází z dávné minulosti. Je s podivem, že stále drží pohromadě.

Jak je z ukázky vidět, tak neproběhne ta zpráva s objevením masky (a nezavoláš discover), ale když si všimneš, tak se maska odkryje a je vidět. Totiž kontejnery automaticky zviditelňují Hidden objekty, pokud jim to nezakážeš. Ale udělají to jen tak mimochodem, nezobrazí tu zprávu, resp. zobrazí lister, takže to nevypadá tak slavnostně.

Takže jsou dvě možnosti. Buď doplnit akci LookUnder, kde se stane to samé, jako při prozkoumání pohovky dříve a kontrolovat a zprávu vypsat jen tehdy, pokud tam maska je a ještě nebyla objevena a nebo můžeš zprávu nechat vypsat v discover metodě masky. Prostě napíšeš zprávu a zavoláš inherited. Když to zkusíš, zjistíš, že to první je lepší, protože se to odehrává v rámci zpracování akce. Když bys to udělal v discover metodě, bude problém potlačit výpis objektů, který by se připsal ke zprávě o objevení a vypadalo by to divně. Tedy ono to jde potlačit, ale už by se zde ctěnému publiku ježily vlasy, takže mysím ideální varianta:

Kód: [Vybrat]
+ pohovka: ComplexContainer, Bed, Heavy 'rozvrzaná pohovka' 'rozvrzaná pohovka' *3
    "Pamatuje příjezd ruských vojáků do Prahy. Není jisté, zda ten první nebo až ten druhý.
    <<if !maska.discovered>>Vypadá to, že pod pohovkou je schovaný nějaký předmět. "

    gcName = 'rozvrzané pohovky, rozvrzané pohovce, rozvrzanou pohovku, rozvrzané pohovce, rozvrzanou pohovkou'
    gcVocab = 'rozvrzané rozvrzanou pohovky/pohovce/pohovku/pohovkou'

    /*
     *   Pohovka kombinuje dva různé kontejnery. Jednak je to Bed, takže na ní může spočívat postava, druhak má prostor
     *   pod sebou, kde je ukryta maska. Proto musíme pohovku deklarovat jako komplexní kontejner a prostor pod pohovkou
     *   bude subkontejnerem.
     */
    subUnderside: ComplexComponent, Underside
    {
        dobjFor(LookUnder)
        {
            action()
            {
                if(!maska.discovered)
                {
                    "Nalezl jsi masku! A to masku plynovou, nikoliv maškarní. ";
                    maska.discover();
                }
                else inherited;
            }
        }
    }
;

/*
 *   Plynová maska musí být třídy Wearable, aby si ji hráč mohl nasadit. To je třída, která se používá pro oblečení
 *   a podobné věci. Zároveň ji kombinujeme pomocí vícenásobné dědičnosti se třídou Hidden, která zajistí, že objekt
 *   bude na začátku hry skrytý, tedy jako by neexistoval. Ve hře se objeví až po zavolání jeho metody discover().
 */
++ maska: Hidden, Wearable 'plynová maska' 'plynová maska' *3
    "Pochází z dávné minulosti. Je s podivem, že stále drží pohromadě. "

    /* Maska se nachází v subkontejneru. */
    subLocation = &subUnderside

    gcName = 'plynové masky, plynové masce, plynovou masku, plynové masce, plynovou maskou'
    gcVocab = 'plynové plynovou masky/masce/masku/maskou'
;

Což povede k snad už správnému textu:

Kód: [Vybrat]
>p pohovku
Pamatuje příjezd ruských vojáků do Prahy. Není jisté, zda ten první nebo až ten
druhý. Vypadá to, že pod pohovkou je schovaný nějaký předmět.

>podívej se pod pohovku
Nalezl jsi masku! A to masku plynovou, nikoliv maškarní.

>podívej se pod pohovku
Pod rozvrzanou pohovkou je plynová maska.

>r
Obývák
Nacházíš se v obýváku. Rozvrzaná pohovka je jediný kus nábytku, který tu
momentálně je.

Pod rozvrzanou pohovkou je plynová maska.

Otec tu stojí.

>vem ji
Hotovo.

>podívej se pod pohovku
Pod rozvrzanou pohovkou nic nevidíš.

Akorát jsem při tom našel ještě jednu chybu v knihovně, v souboru msg_neu.t se musí opravit tahle metoda:

Kód: [Vybrat]
class LookWhereContentsLister: DescContentsLister
    showListEmpty(pov, parent)
    {
        /* show a default message indicating the surface is empty */
        gMessageParams(parent);
        defaultDescReport('\^' + parent.objInName + ' {|[jsi]} nic
            nevid{[íš]|ěl[a]}. ');
    }
;
Název: Re: Syrečky
Přispěvatel: tekket 1. Listopad 2015 - 12:51
Jo, teď to funguje jak má, včetně opravené chyby ve zprávě v knihovně.

Díky za vysvětlení.
Název: Re: Syrečky
Přispěvatel: SoulSoft 2. Listopad 2015 - 09:07
Nestalo by za to u tej tads verzie este v pripade zjedenia syreckov hru ukoncit? Aby hrac nemal pocit ze stale musi este nieco urobit. To je najhorsie na tych hrach ze sa tvaria ze vsetko je OK a pritom je to uz nedohratelne.

Dobre toto riesil Kain v svojich textovkach. Pri save vyhodil hlasku ze hrac vykonal taku akciu ktora znemoznuje dohranie hry. Fungovalo to aspon ako hint ze sa nemam trapit dalej.

Pripadne by sa item syrecky dal nastavit ako bezny objekt ktory nieje urceny na jedenie aby to posobilo ako povodna verzia dema od Kaina.

PS:Thumbs up pred ludmi co v tadse tvoria zlozite textovky.
Název: Re: Syrečky
Přispěvatel: gaspoda 2. Listopad 2015 - 09:55
To už by bylo triviální, prostě u syrečků bys dal do dobjFor(Eat) metodu action() s nějakým textem a voláním finishGameMsg. Ale stále vycházím z toho, že u Syrečků jde o ukázání programování, ne o hru jako takovou. Ve skutečné hře by autor vůbec neměl dopustit, aby se hráč ocitl v bezvýchodné situaci. Tedy alespoň v takové hře, kterou autor doufá, že někdo bude hrát.
Název: Re: Syrečky
Přispěvatel: tekket 2. Listopad 2015 - 11:58
Ano klidně by stačilo v dané situaci nechat syrečky jako Thing místo Food - nedávalo by z hlediska simulace moc smysl, že je nelze sníst, ale bylo by to blíže původní verzi syrečků, která také podobné detaily neřešila.

Kdyby to měla být plnohodnotná hra, tak souhlasím, že by situace, které můžou hru dostat do mrtvého bodu měly být ošetřeny. Také nejsem úplně fanoušek her, kde lze dostat hru do stavu, že nejde dohrát, aniž by mi to alespoň hra dala jasně vědět. To je přitom případ valné většiny her z 80tých let, včetně těch komerčních. Z dnešního hlediska jsou to prostě hardcore hry - bludiště, mrtvé konce, čtení autorovy mysli, nelogické puzzle, nutnost znalosti konkrétních vědomostí, nedosažitelných v rámci hry - např. puzzle založené na znalosti baseballu:)
Název: Re: Syrečky
Přispěvatel: SoulSoft 3. Listopad 2015 - 15:33
Este by som poprosil k prispevku tads ako je main.t prilozit aj skompilovany subor.

Malo by to byt v IDE pod projects/build release ZIP package a vysledok uklada do adresara s projektom ako menoProjektu.zip a bude obsahovat t3 subor ktory uz mozeme spustit aj bez IDE cez nejaky interpreter tadsu. Dik.
Název: Re: Syrečky
Přispěvatel: tekket 3. Listopad 2015 - 16:45
Verze upravená Gaspodou v příloze.

Spustit lze:
Windows - HTML Tads Player Kit. Pokud máte TADS 3 Author's Kit, tak v něm již tento interpretr je.
Linux a Mac - QTads





Název: Re: Syrečky
Přispěvatel: severak 5. Listopad 2015 - 17:02
Ha! Člověk se chvíli nekouká na fórum a oni se tu objevují implementace syrečků. No, taky večer přispěju se svou troškou do mlýna...
Název: Re: Syrečky
Přispěvatel: severak 6. Listopad 2015 - 00:20
Tak tady je ta verze, kvůli které toto téma vlastně začalo. Syrečky v jazyce ALAN (2). V příloze je zdroják i aplikace pro DOS.

Pracuju na Syrečkách pro INSTEAD (v kterém v současnosti vyvíjím něco jiného).
Název: Re: Syrečky
Přispěvatel: tekket 7. Listopad 2015 - 12:51
Tak tady je ta verze, kvůli které toto téma vlastně začalo. Syrečky v jazyce ALAN (2). V příloze je zdroják i aplikace pro DOS.

Pracuju na Syrečkách pro INSTEAD (v kterém v současnosti vyvíjím něco jiného).

ALAN se mi líbí, někdy v roce 2008 jsem v něm něco zkoušel(zkusím projít stará cd, jestli se něco zachovalo), ale nikdy jsem se nepřenesl přes nemožnost používat diakritiku. Dodnes kompiler i interpretr natvrdo jedou v ISO-8859-I (otázka je nakolik by bylo složité upravit a zkompilovat třeba pro ISO-8859-II ... no pro mě příliš:))
Název: Re: Syrečky
Přispěvatel: severak 8. Listopad 2015 - 00:37
ALAN se mi líbí, někdy v roce 2008 jsem v něm něco zkoušel(zkusím projít stará cd, jestli se něco zachovalo), ale nikdy jsem se nepřenesl přes nemožnost používat diakritiku. Dodnes kompiler i interpretr natvrdo jedou v ISO-8859-I (otázka je nakolik by bylo složité upravit a zkompilovat třeba pro ISO-8859-II ... no pro mě příliš:))

Já jsem v ALANu (verze 2) psal textovku s diakritikou. Pravda, byla to Latin-II pro windows. Viz zde - http://textovky.panprase.cz/index.php?topic=134.msg1067#msg1067
Název: Re: Syrečky
Přispěvatel: tekket 8. Listopad 2015 - 14:12
A hra ti zobrazila diakritiku správně? Šlo psát příkazy? Že by se v tom Alan 2 lišil od trojky?
Název: Re: Syrečky
Přispěvatel: severak 9. Listopad 2015 - 23:08
A hra ti zobrazila diakritiku správně? Šlo psát příkazy? Že by se v tom Alan 2 lišil od trojky?

Diakritika se zobrazovala celkem správně. Příkazy se psaly bez hacku a carek (diakritiku nešlo psát).
Název: Re: Syrečky
Přispěvatel: pedromagician 12. Listopad 2015 - 19:24
Konecne som sa k tomu dostal, ciastocny zdrojak je na http://pastebin.com/KSbrZeqE (http://pastebin.com/KSbrZeqE)
a pozriet sa to da na https://www.youtube.com/watch?v=KHXD2s46_j4 (https://www.youtube.com/watch?v=KHXD2s46_j4)

pripadne https://wolfsworlds.wordpress.com/2015/11/12/syrecky/ (https://wolfsworlds.wordpress.com/2015/11/12/syrecky/)

Kedze som si pripravil "grafiku" tak vznikne aj rozsirena verzia :)
Název: Re: Syrečky
Přispěvatel: tekket 18. Listopad 2015 - 00:21
Všechny Syrečky, o kterých vím, na jednom místě:

https://mega.nz/#F!HU9RWDSJ!VNPZ6tURyUwI6D9sl_8RMQ
Název: Re: Syrečky
Přispěvatel: tekket 19. Listopad 2015 - 00:09
Všechny Syrečky, o kterých vím, na jednom místě:

https://mega.nz/#F!HU9RWDSJ!VNPZ6tURyUwI6D9sl_8RMQ

Opravil jsem link. Nyní by neměl chtít žádný klíč.
Název: Re: Syrečky
Přispěvatel: pedromagician 24. Prosinec 2017 - 10:32
Tak som pripravil kompletný zdroják pre Syrečky :)

https://wolfsworlds.wordpress.com/2017/12/24/syrecky/