Diskuze o textových hrách

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - tekket

Stran: 1 2 3 4 5
31
TADS / Re: Seriál o programování textových her v TADS 3
« kdy: 6. Listopad 2015 - 22:30 »
Tak v tomhle byl problém. Je zajímavé, že i když se vymaže ta varianta s opačným pořadím, tak to příkaz s opačným pořadím pochopí.

32
TADS / Re: Seriál o programování textových her v TADS 3
« kdy: 6. Listopad 2015 - 21:24 »
Citace
Sladění synonym u CutWithWhat a CutWith pomohlo. Jen odezva na uřízni lianu odpoví - Co jí chceš uříznout.

Mě to tu funguje, asi bychom se museli bavit o konkrétním testcase.

Když jsem si s tím hrál, tak jsem ještě u objektů neměl dobjFor(CutWith). Nyní mám tedy objekty takto:
Kód: [Vybrat]
++ nuz: PreferredIobj, Thing 'japonský vojenský nůž' 'vojenský nůž' *2
    "Je to vojenský nůž japonské výroby, který jsi ukradl strážci. Je velmi ostrý, pozor! "

    gcName = 'vojenského nože, vojenskému noži, vojenský nůž, vojenském noži, vojenským nožem'
    gcVocab = 'vojenského japonského vojenskému japonskému vojenském japonském vojenským japonským
    nože/noži/nožem'

    iobjFor(CutWith)
    {
        verify() {  }
    }
;

+ liana: Hidden, Thing 'pevná pružná liána' 'liána' *3
    "Liána vypadá pevně a pružně. "
    initSpecialDesc = "Kousek od tebe visí liána. "

    gcName = 'liány, liáně, liánu, liáně, liánou'
    gcVocab = 'pevné pružné pevnou pružnou liány/liáně/liánu/liánou'

    dobjFor(Take)
    {
        check()
        {
            failCheck('Liána je příliš pevná a pružná, abys ji dokázal jen tak vzít. ');
        }
    }

    dobjFor(CutWith)
    {
        verify()
        {
            if(moved) { illogicalAlready('Nechceš liánu zbytečně řezat na menší kusy. '); }
        }
        action()
        {
            moveInto(gPlayerChar);
            "{Kýmčím iobj} jsi uřízl velký kus {kohočeho dobj} a omotal si ho kolem pasu. ";
        }
    }
;
akce s dobj i iobj proběhne vše správně. Když zadám pouze přeřízni liánu, tak dostanu:
(řežeš liánu)
Liánou nic nepřeřízneš

když už mám liánu v inventáři, tak je odezva: Co jí chceš uříznout?

Citace
To není problém, to tak funguje automaticky. Pokud je jen jediný nůž, tak příkaz "uřízni liánu" ho zvolí automaticky, pokud mám víc nožů, zeptá se "Čím ji chceš uříznout?"

To mi právě nejde, viz. výše. Je třeba ještě něco dopsat?

Jinak, nemám založit další diskuzi, abych to tady netapetoval?

33
TADS / Re: Seriál o programování textových her v TADS 3
« kdy: 6. Listopad 2015 - 18:50 »
Ještě pro úplnost k třídě PreferredIobj. Ještě by se mělo do VerbRule(CutWith) přidat: preferredIobj = PreferredIobj

Alespoň bez toho mi to nefungovalo.

34
TADS / Re: Seriál o programování textových her v TADS 3
« kdy: 6. Listopad 2015 - 15:01 »
Jasně, to dává smysl. Takže v tomto případě by byl nejlepší nůž, i kdyby ve hře reálně fungoval příkaz jen na jeden objekt, protože by mohly existovat další situace, ve kterých by dávalo smysl, že chci něco uříznout, i kdyby to mělo hodit jen odezvu, že to nejde.

Sladění synonym u CutWithWhat a CutWith pomohlo. Jen odezva na uřízni lianu odpoví - Co jí chceš uříznout.

Ještě jsem přemýšlel, o takové vychytávce, že by ta akce pouze s přímým objektem automaticky vybrala vhodný objekt. Zjistilo by to např. jestli mám objekt odpovídající třídy a akci provedl s ním, případně by se zeptal, který pokud by jich bylo více. No, to už je taková pomalu zbytečnost.

35
TADS / Re: Seriál o programování textových her v TADS 3
« kdy: 6. Listopad 2015 - 14:13 »
ještě jsem to nezkoušel, ale myslím, že přidání synonym by to zmatení parseru mohlo vyřešit.

To jsem si právě říkal, jak to funguje, když parser v podobném případě neví jestli jsem použil dobj iobj nebo iobj dobj, když příkaz akceptuje obojí. Vyzkouším to udělat dle tvého doporučení a přidám noži třídu PreferredIobj

Zatím si také nejsem jistý do jakého objektu dát akci, když se jedná o akci zahrnující přímý a nepřímý objekt.

36
Programování / Re: České textovky se zdrojovým kódem
« kdy: 6. Listopad 2015 - 13:03 »
Díky, za první přírůstek:). Přidal jsem ho k ostatním.

37
TADS / Re: Seriál o programování textových her v TADS 3
« kdy: 6. Listopad 2015 - 01:24 »
Narazil jsem v knihovně na takovou skrytou podivnost u standardních odpovědi na CutWithAction ve VerbRule(CutWithWhat) - když napíšu uřízni strom - napíše mi zprávu(špatně) Co jím chceš uříznout, zatímco přeřízni strom napíše(správně) Čím ho chceš uříznout

Dost divné, tipuju na nějaký konflikt s VerbRule(CutWith), tam to dělá také - když zadám
uřízni nožem liánu - nožem nic nepřeřízneš - to je dobře
přeřízni nožem liánu - Čím chceš uříznout? - tohle ne

Také mě zaujalo, že existuje CutAction, ale nepoužívá jí žádné VerbRule a místo toho je zřejmě ono CutWithWhat, které prakticky pouze upozorňuje na absenci iobj

38
Programování / Re: České textovky se zdrojovým kódem
« kdy: 5. Listopad 2015 - 20:18 »
Jen s chutí do toho.

Jinak, kdyby někdo na něco narazil, dejte vědět v diskuzi a já to přidám do úvodního příspěvku.

39
Programování / České textovky se zdrojovým kódem
« kdy: 4. Listopad 2015 - 15:39 »
Toto téma má za cíl shromáždit na jednom místě české textovky, ke kterým je k dispozici zdrojový kód. Je jedno v jakém programovacím jazyce a na jaké platformě byla hra vytvořena.

Formát:
Název hry [platforma] [programovací jazyk]
info: krátký popis hry(případně důležité info)
zdrojový kód: odkaz na zdrojový kód
hra: odkaz na spustitelný soubor hry (pokud se liší od prvního odkazu)
lze spustit v: vhodný interpretr/emulátor pro spuštění hry (např. QTads, TGI, DOSBox)
další odkazy: případné další související a užitečné odkazy (např. stránky věnující se jazyku, apod.)


Hry:

Další dobrodružství Heidi [Multiplatformní] [TADS 3]
info: Hra z oficiální dokumentace Getting Started in TADS 3. Českou verzi vytvořil Gaspoda.
zdrojový kód: http://tads.cz/cs/heidit
hra: http://tads.cz/cs/File:heidit3/file
lze spustit v: QTads

Filipíny 1945 [Windows] [TGI]
info: textovka vytvořená jako ukázka českého enginu pro tvorbu textovek TGI od Thruthixe. Odkaz obsahuje zdrojový kód hry i interpretr pro její spuštění.
zdrojový kód: http://www.textovky.cz/download/111/
lze spustit v: TGI(součástí balíku). Pro Linux/Mac je třeba WINE

Jméno růže [Windows] [ALAN]
info: skromný pokus o adaptaci slavného románu Umberta Eca. Nedoděláno. autor Severak
zdrojový kód a hra: viz http://textovky.panprase.cz/index.php?topic=134.msg1067
lze spustit v: jen Windows (ALAN je sice multiplatformní, ale kódování češtiny ne)
další odkazy: http://alanif.se/

Letec [Windows] [lua]
info: hra inspirovaná filmem Luca Bessona Poslední bitva. Nedoděláno. Při vývoji autor použil vlastní engine nazvaný LIFF (což je zkratka z "lua interactive fiction framework" a zároveň narážka na jednu knihu Douglase Adamse) - autor Severak
zdrojový kód a hra: http://svita.cz/archiv/hry/letec.zip

Na Resetkání 98 - Special Edition [Amiga] [AMOS]
info: Speciální edice vychází z verze vydané roku 1994 a byla tak trochu rozšířena, doplněna o vizuální efekty a vůbec, domnívám se, že v té době už jsem neměl ani zdroják z verze 1994, takže jsem to začal programovat vlastne z nuly - panprase
zdrojový kód a hra: http://panprase.cz/paste/2uf/
hra: http://panprase.cz/download/naresetkani98.zip
lze spustit v: Spustit to můžete v Amos Professional, nevyužívá to žádné speciální pluginy, zdroják byl převeden z kódování KOI8 do WIN, takže zpětně si to budete muset zase převést.

Pomsta je tu [Unix/Linux] [Bash]
info: Hru naprogramoval David Pilař jako semestrální projekt.
zdrojový kód: http://www.textovky.cz/download/645/
lze spustit v: Linux/Unix/Mac v terminálu. Windows - Cygwin?

Vobluda [MS-DOS] [QBasic]
info: Napsáno v QBasicu. autor: saeros@post.cz
zdrojový kód: http://www.textovky.cz/download/195/
hra: http://www.textovky.cz/download/195/
lze spustit v: Dosbox

WoW Wotlk [Windows/Linux] [QBasic]
info: Textovka s otevřeným zdrojovým kódem naprogramovaná v IDE QBasic.
zdrojový kód: http://www.textovky.cz/download/704/
lze spustit v: Windows/Linux

40
Programování / Re: Syrečky
« kdy: 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






41
Programování / Re: Syrečky
« kdy: 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:)

42
Programování / Re: Syrečky
« kdy: 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í.

43
Programování / Re: Syrečky
« kdy: 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.

44
Programování / Re: Syrečky
« kdy: 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ě.


45
Programování / Re: Syrečky
« kdy: 31. Říjen 2015 - 23:55 »
Paráda, funguje to. Tomu říkám rychlost.

Stran: 1 2 3 4 5