29. Červen 2017 - 12:32

Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Všeobecná diskuse / Re: Textovky.cz
« Poslední příspěvek od panprase kdy 8. Červen 2017 - 18:28 »
No uz je to snad lepsi
2
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od Kroužící orel kdy 31. Květen 2017 - 09:40 »
Tak se zase dostávám k tvorbě, lano a strážce zatím nechám stranou a zaměřil jsem se na zapálení pochodně. Prozkoumal jsem v Library - extras.t třídu class Candle: FueledLightSource a pečlivě přečetl práci s baterkou v Heidi a především Tour Guide stranu 102 - Light and Fire. Parádně je tu popsána klasická svítilna na baterky jako OpenableContainer, olejová lampa a informace o tom, že pochodeň mohu definovat podle Candle & FireSource. Zkoušel jsem všechny příklady, posílám aktuální zdroják, kde mám na str. 181 pochodeň a str. 247 křesadlo. Ve všech případech dostávám po příkazu zapal pochodeň hlášku "{Tím iobj} nemůžeš nic zapálit.".

Až budeš mít čas, zkus se prosím juknout i na pochodeň, zatím budu dále zkoumat.
3
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od Kroužící orel kdy 26. Květen 2017 - 08:55 »
Dnes jsem ještě jednou v klidu juknul na soubory, které jsem Ti zaslal a jak vidno, spěch není to pravé, zase je tu problém s kódováním. Nyní posílám následující soubory v jednom archivu:

Pruchod_Exoter.txt a Pruchod_Exoter.pdf - to je přesný postup zkopírovaný z hraní hry ve Win verzi TADS3 Interpretr
Auto 318.cmd - nahraný průchozí skript pod Linuxem s nečitelným kódováním, ve Win verzi Workbenche plně funční
cs_cz.t - moje malá úprava s přivázáním provazu

Se senem je tedy vše OK, nyní se pokusím zprovoznit jeho spálení pomocí zapálené pochodně plus bude asi vhodnější, aby jej hráč nemohl sebrat. Budu ještě laborovat ohledně lana a studny. Až bude hra hotová, vrhnul bych se na doplnění souboru cs_cz.t a doplnil další slova, která se mi zdají být užitečná, pokud budeš souhlasit a je-li to správný postup, můžeme jej dát i na Tvůj web jako novou verzi, alespoň takto málo budu schopen i já pomoci v překladu TADSu.

Krásný víkend a modrou oblohu nad hlavou přeje

Orel
4
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od Kroužící orel kdy 25. Květen 2017 - 12:57 »
Sakra, ty jsi ale rychlík, ještě jsem zapomněl dát sem aktuální zdroják.

Projel jsem celou současnou hru tak, že napoprvé spadnu do sena, pak zkouším vlézt do studny pomocí provazu, seberu seno a druhým pádem na dlažbu hra končí.

A ještě mě napadlo upravit Tebou přeložené příkazy. U studny mohu použít "připevni provaz", ale ne už "přivaž provaz". Upravil jsem soubor cs_cz.t v adresáři /usr/share/frobtads/tads3/lib/adv3/cs_cz i v tom samém pod Wine a hurá, možnost "přivaž" už interpretr zná. Takže pokud se nepletu, mělo by zafungovat přidání slova "přepiluj" tam, kde máš uvedeno odemkni, to zkusím příště.

Vše potřebné zasílám v příloze. Teď za chvíli frčím pro dcérenku do školky, během zítřka nebo nejpozději o víkendu se zase dostanu k Exoterovi, baví mě to čím dál více.
5
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od gaspoda kdy 25. Květen 2017 - 12:36 »
Abych nehádal, prosím napiš mi, jak má vypadat ideální výstup ze hry s provazem i kupkou sena, tj. příkazy hráče a odpovědi hry na ně.
6
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od Kroužící orel kdy 25. Květen 2017 - 12:16 »
Vrhnul jsem se na pád z výšky do kupky sena, přiznám se, že si nejsem jist, kde mám metodu enteringRoom(traveler) použít – zda ve druha_mistnost_vrchol_vez nebo v sv_nádvoří, u obou případů jsem nedosáhl kýženého výsledku. Ale po juknutí se do zdrojáků Heidi a Tvého Attachment mě napadlo ještě jedno, nevím zda ouplně správné systémové řešení:

druha_mistnost_vrchol_vez: Room 'Druhá místnost na vrcholu věže' 'do druhé místnosti na vrcholu věže'
    "Jsi v místnosti na vrcholu věže. \bMůžeš jít na východ, dolů. "
    east = mistnost_vrchol_vez
    down : TravelMessage
          {  ->sv_nadvori
              "Spadl jsi přímo doprostřed kupky sena, která ideálně ztlumila tvůj pád. "
                canTravelerPass(traveler) {return kupka_sena.isIn(sv_nadvori); }
              explainTravelBarrier(traveler)
         { "Zabil jsi se pádem z výšky. "; finishGameMsg(ftDeath, [finishOptionUndo] );}
    }
;

Pomocí metody  TravelMessage jsem dosáhl toho, že pokud se kupka sena nachází v sv_nadvori, hráči se nic nestane a v opačném případě zahyne přesně tak jako v Exoterovi.

Mimochodem teprve dalším studiem zdrojáků Heidi jsem se dozvěděl, že ve hře lze i křičet a tento křik může zanikat ve větru, to minimálně u předělávky a dalším pokračování Kroužícího orla musím využít. Opravdu bezva systém, líbí se mi čím dál tím více.
 
Na tomto místě jsem zjistil, že po smrti hráče hra vypisuje ZEMŘELO JSI. - u definice hráčovy postavy me však nemohu využít striktní definici rodu typu *1, setkal jsi se s tím také u tvorby Základny?

V místnosti se studnou jsem pomocí zdrojáku Attachment a výše uvedené kombinace  TravelMessage zkusil něco podobného, zatím ale bez kloudného výsledku:

jz_nadvori: Room 'Jihozápadní část nádvoří' 'do jihozápadní části nádvoří'
    "Stojíš na nádvoří. \bMůžeš jít na sever, na východ, na jih, dolů. "
    north = sz_nadvori
    east = jv_nadvori
    south = brana
    down : TravelMessage
          {  ->ve_studni
              "Sešplhal jsi dolů za pomoci přivázaného lana. "
//                canTravelerPass(traveler) {return provaz.moveinto(studna); }
        canTravelerPass(traveler) {!provaz.isConnectedTo(studna); }
              explainTravelBarrier(traveler)
         { "Studna je moc hlubová na to, abys do ní skočil jen tak. "; }
    }
;

+ studna : Attachable, Thing, Heavy 'studna' 'studna' *3
    @jz_nadvori
    "Hluboká studna, nyní však již zcela vyschlá. "
    specialDesc = "Je tu stará kamenná studna. "

    canAttachTo(obj) {return obj == provaz;}
    handleAttach (other)
    {   provaz.moveinto(studna);
       "Spustil jsi jej dolů. ";
     }

     gcName = 'studnu, studni, studna, studni, studnou'
     gcVocab = 'studnu/studni/studnou'
;

Také doprovodné hlášky zatím nejsou zrovna ideální:

>prozkoumej studnu
Hluboká studna, nyní však již zcela vyschlá.
Studna je připevněna k provazu.

>d
Je tu příliš velká tma, než abys vidělo na cestu.


Zde asi TravelMessage nepoužívám správně, zkusím si ještě jednou projet zdroják a v Library reference prozkoumat používané metody. Tak jako tak mi provaz zůstane po připevnění ke studni v ruce, takže zde budu muset upravit změnu stavu.

Každopádně uvázání provazu a boj se strážcem/drakem/psem jsou poslední dva zádrhele, až tyhle rozseknu, tvorba se bude chýlit ke konci.
7
Nové textové hry / Re: Atomová Katedrála
« Poslední příspěvek od ugraugra kdy 23. Květen 2017 - 22:51 »
Vyřešeno

Čtěte na blogu ;)
8
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od gaspoda kdy 22. Květen 2017 - 20:18 »
Pardon, už je to spravené.
9
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od Kroužící orel kdy 22. Květen 2017 - 08:17 »
Krásné ránko přeji,

paráda, hru Attachable jsem si stáhnul, binárka je v pohodě, jen zdroják attachment-20170519-1.zip bude asi poškozený, po rozbalení vidím jen prázdný adresář Attachable, můžu poprosit ještě jednou o nahrátí na server? Na řešení toho lana se moc těším, snad najdu inspiraci.

Taky mám teď spoustu práce, celý víkend koně a dnes kroužky s dcérenkou, vždy se ale alespoň o něco posunu dále. Se strážcem zatím ještě bojuju, budu dále zkoušet a podívám se na ten pád do sena - v místnosti sv_nadvori přidám metodu enteringRoom s podmínkami, zda je/není seno v místnosti, až se pohnu, dám sem výsledek.
10
Programování / Re: Seriál o programování textových her v TADS 3
« Poslední příspěvek od gaspoda kdy 21. Květen 2017 - 22:08 »
Pád z výšky do sena / na dlažbu – zde bude nějaká konstrukce if else. Napadlo mě použít:
 dobjFor(Enter) - method of ThroughPassage in travel.t[2618],
případně přesměrování, zatím jsem však nebyl úspěšný. Budu dále studovat nebo zkusím metodu jinou.

Možnosti a způsoby přesunů postav jsou docela rozsáhlé, spíš bys mohl použít v místnosti metodu enteringRoom, která tě informuje o vstupu postavy:
Kód: [Vybrat]
    enteringRoom(traveler)
    {
        if(traveler == me && nejake dalsi podminky)
        {
            "Něco... ";
        }
    }

V ní si otestuješ, o jakou postavu se jedná a jakékoliv jiné podmínky a něco uděláš. Pokud postavu nezabiješ, tak se výstupy zobrazí před rozhlédnutím v nové místnosti.
Stran: [1] 2 3 ... 10