abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Navštivte Abc obchůdek se samolepkami a přívěsky!
Rozšířené hledání
×
včera 22:45 | IT novinky
NASA, která společně s Rackspace stála u zrodu projektu OpenStack, se již nadále nebude podílet na dalším vývoji této "infrastructure-as-a-service" platformy. V NASA totiž došli k závěru, že vzhledem k podpoře OpenStacku ze strany společností jako Red Hat, AT&T a HP lze jejich práci považovat za dokončenou. Posléze se NASA plánuje stáhnout i z vývoje další platformy pro cloud computing jménem Nebula.
Migilenik | Komentářů: 0
včera 22:45 | Upozornění
Blíží se svátek IPv6 a s ním i konference IPv6 Day. Na návštěvníky této akce čeká nejen bohatý program, ale také jedna speciální nabídka – v průběhu setkání bude možné získat se slevou 66 procent třetí vydání knihy IPv6 vysokoškolského pedagoga a publicisty Pavla Satrapy, tedy za 105 korun. … více »
Vilem Sladek | Komentářů: 3
včera 16:14 | Pozvánky

Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!

… více »
Whit | Komentářů: 0
včera 10:20 | Nová verze
Na zrcadlech a torrentech jsou již k dispozici ISO obrazy distribuce Mageia 2. Poznámky k vydání čtěte zde.
Liborek | Komentářů: 12
23.5. 13:47 | Pozvánky

Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.

… více »
Miška | Komentářů: 7
23.5. 13:27 | Zajímavý projekt
Printerd je název nového projektu tiskového démona, který bude využívat PolicyKit a D-Bus. Projekt je zatím na úplném začátku, takže nejde o nic vhodného k produkčnímu nasazení. Mimo jiné aktuálně akceptuje jako vstup jen PDF dokumenty.
Luboš Doležel (Doli) | Komentářů: 50
23.5. 13:25 | Zajímavý software
Tři vývojáři ze společnosti Engine Yard přecházejí po dohodě mezi firmami do Red Hatu. Jde o vývojáře zabývající se rozvojem projektu JRuby. To ukazuje, že Red Hat má zájem o podporu alternativních jazyků nad OpenJDK.
Luboš Doležel (Doli) | Komentářů: 1
23.5. 13:20 | Zajímavý software
Fedora přejde na knihovnu libusbx, což je fork původní knihovny libusb. Důvodem pro fork byl zjevný nedostatek času nebo zájmu ze strany správce projektu. libusbx už teď nabízí užitečné funkce navrch.
Luboš Doležel (Doli) | Komentářů: 2
23.5. 10:29 | Nová verze
Vyšlo LLVM 3.1. Vylepšení se dotýkají podpory C++ 11 nebo architektur ARM a MIPS. Dále se můžete těšit z Python bindings nebo nástroje AddressSanitizer pro detekci chyb při práci s pamětí.
Luboš Doležel (Doli) | Komentářů: 0
23.5. 00:01 | Nová verze
Vyšla nová verze open source služby pro sdílení a synchronizaci souborů ownCloud 4. Mezi hlavní novinky patří verzování, šifrování dat, vestavěný prohlížeč ODF souborů, nové API a další - podrobnější popis novinek a vylepšení zde.
Dirka | Komentářů: 1
Pokud by se prohlížeč Opera stal svobodným:
 (9%)
 (30%)
 (1%)
 (59%)
Celkem 217 hlasů
 Komentářů: 25, poslední dnes 13:23
    Rozcestník
    Reklama
    Autoškola testy online Levný benzín

    Textová adventura v Pythonu

    24.5.2009 11:36 | Přečteno: 2416× | Linux | poslední úprava: 1.6.2009 21:09

    Kdysi na ATARI 800XL jsem napsal v basicu dvoudílnou textovku Emgeton Story. A protože mě jeden příznivec textovek trošku vyhecoval, začal jsem pracovat na remake. Jako programovací jazyk jsem použil Python.

    Dlouho jsem hledal nějaký vhodný engine pro českou hru, ale narážel jsem na problémy s diakritikou. Nakonec mi padla do oka knihovna pyparsing, která přímo v sobě obsahuje malý příklad enginu pro textovou adventuru. Takže jsem tento základ použil a dále rozvinul. Po počátečních potížích opět s diakritikou a unicode je nyní engine ve stavu použitelnosti - postupně píši příběh té původní hry z roku 1991.

    Engine je plně multiplatformní a jsou vyřešeny problémy s diakritikou a unicode. Překvapilo mě, že např. Windows XP stále používají cp852. Otestováno je to v pythonu 2.x na Linuxu, Windows XP a na Mac OS X. Engine má samozřejmě dost nedostatků, v hlavičce si píši TODO - zatím jsem např. nerozlousklnul jak na SAVE a LOAD, ale směrem by melo být pickle, se kterým zatím experimentuji. Kód jsem se snažil okomentovat, aby byl srozumitelný. Je mi jasné, že kvalita kódu není na úrovni profesionálního programátora, že tam je dost věcí které by šli napsat jinak a lépe.

    Hra se ovládá pomocí příkazů například prozkoumej koš, použij lopatku atd. Více vám poví příkaz help.

    Má-li tedy někdo chuť pomoci, ozvěte se. Asi nejvíce mě trápí nefunkčnost konstrukce použij předmět s jiným_předmětem, tam nějak to parsování nefunguje ani v tom původním kódu. A také samozřejmě to load a save. Super by bylo i to kdyby to nejak jednoduše šlo i např. v GTK okně pomocí pyGTK nebo Qt pomocí pyQt. Dá se tam toho hodně vylepšovat, více je v tom TODO.

    Update: rozjel jsem projekt na Sourceforge.

           

    Hodnocení: 94 %

            špatnédobré        

    Anketa

    Znáte nebo hrajete textové adventury?
     (6 %)
     (15 %)
     (71 %)
     (8 %)
    Celkem 80 hlasů

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    24.5.2009 13:11 Mige_Amour | skóre: 12 | Benešov
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Stojíš u horkovodu.
    Vidíš tu rozvaděč, páru a silnici.
    Můžeš jít na sever a na východ.
    > seber páru
    Beru...
    > seber silnici
    Beru...
    > inv
    Prohlížím inventář...
    Máš somračku, zmuchlaný papír, brašnu, páru páru a silnici.

    Opravdu má jít sebrat ta pára a silnice? :D

    24.5.2009 13:20 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    nema, proto pisu ze to neni jeste dokonceno :-)
    24.5.2009 13:23 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    navic v TODO jeste pisu, ze s tou parou je nekde problem, nevim proc ale objevuje i v mistnosti kde nema co delat... asi vitr :-)
    24.5.2009 14:42 Kvakor
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Pamatuju na jednu úchylnou francouzkou hru (nebyla to textová, ale klikací adventura), kde podobné věci šly dělat :-)
    =^..^= AmigaPower® avatar 24.5.2009 19:28 =^..^= AmigaPower® | skóre: 28 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Já zas teď hraju Menelgame, je to překládaný z němčiny, takže "klikni na otevřené kolo" znamenaj "klikni na číslo" a podobný věci. :-D
    I♥DRX * My sme Linuxovej andrgraund pyčo!   -->   www.KERNELULTRAS.org     devonrex@jabber.ccc.de
    =^..^= AmigaPower® avatar 24.5.2009 19:47 =^..^= AmigaPower® | skóre: 28 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    ...jo, ještě bych zapoměl dodat, že kliknutim na ten link pomůžete mému bezdomovci na jeho těžké ceste k bohatství, díky! :-D
    I♥DRX * My sme Linuxovej andrgraund pyčo!   -->   www.KERNELULTRAS.org     devonrex@jabber.ccc.de
    hikikomori82 avatar 24.5.2009 15:16 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    A neni to skoda nespravit to rovno ako online (html) textovku?
    24.5.2009 16:01 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Online to bude taky, ne jako obycejne html, ale s pomoci ajaxu, uz mam otestovano. Bude to vypadat nejak takhle. Trpelivost prosim :-)
    oroborus avatar 24.5.2009 16:00 oroborus | skóre: 20 | blog: Bulanci
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Mmm, hned som si spomenul sa server www.textovky.cz , skoda, ze v sucastnosti uz nie je aktivny a funguje ako archiv. Admini robili co mohli, ale zrejme za to mohla zla odozva od citatelov, mensie nezhody a crackerske (nechem napisat hackerske) utoky na phpBB forum ( to bol zrejme posledny klinec do rakvy )

    kouzer avatar 24.5.2009 17:59 kouzer | skóre: 11 | Mladá Boleslav
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Mě to tedy na win v pythonu nefunguje. Mam verzi 3.0.1.

     

      File "C:\Documents and Settings\kouzer\Plocha\adventureEngine.py", line 35
        alphas = u'aábcčdďeěfghiíjklmnňoópqrřsštťuůúvwxyýzž'
                                                                         ^
    SyntaxError: invalid syntax

    Linux user #448944.
    24.5.2009 18:05 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    ve trojce jsem to netestoval, je to psano ve verzi 2.x
    24.5.2009 18:10 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    kdyz odstranite to u pred uvozovkami, prestane se objevovat chyba na tomto radku?
    kouzer avatar 24.5.2009 18:14 kouzer | skóre: 11 | Mladá Boleslav
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Ono tomu vadí i jiné věci..

     

    Linux user #448944.
    24.5.2009 18:17 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Zkratka python 3.x neni zpetne kompatibilni s 2.x. Zkuste verzi 2.6 a nezapomente na pyparsing.
    kouzer avatar 24.5.2009 18:21 kouzer | skóre: 11 | Mladá Boleslav
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Nebylo by lepší psát to rovnou pro Python 3? Nemyslím kvůli mě, ale do budoucna a tohle je čestvý, tak by se to asi vyplatilo (mluvím jen za sebe).

    Linux user #448944.
    24.5.2009 18:27 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Ve fedore 11 bude python 2.6, kde je sada konverznich pomucek, prave jsem to nasel tady a tady.
    24.5.2009 18:29 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    V kolika distribucich linuxu je dneska python 3.x ?
    kouzer avatar 24.5.2009 18:37 kouzer | skóre: 11 | Mladá Boleslav
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Nemam tušení.

    Linux user #448944.
    24.5.2009 18:40 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    prave... ve vetsine je verze 2.x, takze pro ni to pisu. Ale jinak s verzi pro 3.x je to dobry napad, diky
    24.5.2009 20:05 JS
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Nechapu, proc jste nepouzil nejaky jazyk pro tvorbu textovek, treba Inform nebo TADS (pokud vim, oba Unicode umi). Ale jinak proti Pythonu nic nemam. :-)

    24.5.2009 20:17 xyz
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Unicode sice umí, ale s počeštěním to je dost problém. Osobně jsem trošičku zkoušel počeštit TADS3, a docela jsem pohořel. Ne že by to nešlo, ale moc snadné to není. Pokročilé systémy jako INFORM7 navíc pracují s jazykem na poněkud vyšší úrovni, včetně například syntaktických pravidel. Takže počeštění je (podle mě) ještě mnohem obtížnější. Osobně bych velice rád nějaký rozumný systém s plnou lokalizací víc než přivítal. Žel bohu jsou textové adventury v ČR totálně okrajovou záležitostí.

    24.5.2009 20:24 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    jj s tads a inform mam podobne zkusenosti
    24.5.2009 21:30 JS
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Aha, diky za odpoved, to jsem nevedel.

    24.5.2009 20:41 xyz
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Hele, jestli to doděláš včetně věcí v TODO, tak máš můj nehynoucí obdiv. Což ti sice bude nejspíš k ničemu, ale bylo by to super :-) A asi by to chtělo soubor s dobrodružstvím natahovat zvlášť mimo parsovací engine.

    24.5.2009 20:45 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    externi soubor bude... dik za podporu :-)
    Daniel Kvasnička ml. avatar 25.5.2009 20:48 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    No napad peknej, ale valit to vsechno do jednoho souboru, to je solidni humac, ne? ;-)
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    25.5.2009 20:58 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    no nerikam, ze to tak do budoucna zustane :-) nakonec bude engine oddelenej od pribehu :)
    AraxoN avatar 26.5.2009 00:13 AraxoN | skóre: 41 | Košice
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Hehe, Emgeton story... to si pamätám z Ataríčka! :-D Československých textoviek som mal kúpenú celú kazetu, na dobierku z ČR. Predpokladám, že autori z toho nemali ani halier... Ale aspoň si slávny! Na rozdiel od mojej textovky, ktorá nikomu nestála ani za to, aby ju ukradol... :-(

    Nothing is impossible for the man who doesn't have to do it himself.
    26.5.2009 00:33 xyz
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Tak nezoufej a zkus se s autorem domluvit a předělat tu svou textovku jako další příběh využívající jeho engine :-)

    26.5.2009 08:06 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Budu rad, pokud se to zacne pouzivat a kdyz to nekdo pomuze vylepsit :-) Zrovna vcera jsem jednoho kolegu textovkare provadel zdrojovym kodem pres icq :-) V kodu jsou komentare, tak to lze snadno pochopit jak to funguje.
    AraxoN avatar 26.5.2009 22:20 AraxoN | skóre: 41 | Košice
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Čo si to pamätám (cca 18 rokov dozadu), tak to ani na svoju dobu a vo svojej triede (textovky made in ČSSR) nebolo nejaké terno... :-D ... Okolo roku 2000 som sa to pokúšal dostať z kazety do PC, ale rozkódovať to z WAV-u na jednotlivé bity sa ukázalo nad moje sily. Páska asi za tie roky degradovala, bol na nej šum, jednotlivé bity neboli rovnako dlhé (variable bit rate :-D) a bola to skôr tipovacia sútaž, že čo je ešte jednotka a čo už nula. Hlavičku som rozkódoval, ale zbytok nedával zmysel a emulátor Atari z toho zblbol.

    Nothing is impossible for the man who doesn't have to do it himself.
    26.5.2009 09:21 Robo
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    no kedysi davno v pocitacovom stredoveku som tiez spravil dve textovky (pre DOS). Asi pred rokom, ked som sa ucil Javu som sa to snazil do Javy prepisat, ale ta javovska konzola na to prilis vhodna neni, a neviem ci by to v pythone bolo lepsie: napr. neslo vymazat riadok, posunut kurzor na hocijake miesto (vertikalne, horizontalne) a tam nieco napisat, menit farby textu viackrat v jednom riadku; slo poslat do konzoly iba jeden cely riadok naraz (nie po znakoch) atd.

    26.5.2009 10:38 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Proc posouvat kurzorem? Naco menit barvy? Kvuli zvyrazneni? Proc posilat po znacich? Zkuste to prosim trosku vic osvetlit...
    AraxoN avatar 26.5.2009 14:18 AraxoN | skóre: 41 | Košice
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Možno preto, aby to bolo user-friendly, doplňovalo príkazy tabom, a tak... Ale veľmi by som sa divil, keby to Java nevedela, lebo to sa dalo už na hocijako primitívnych počítačoch a v hocijako primitívnych jazykoch.

    Nothing is impossible for the man who doesn't have to do it himself.
    27.5.2009 10:18 Robo
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    javovska konzola to nevie; asi preto, ze java nebola pisana pre konzolu

    AraxoN avatar 27.5.2009 10:59 AraxoN | skóre: 41 | Košice
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu

    Tak to som potom rád, že som Javu už dávno vyhodnotil ako nepoužiteľný jazyk. ;-)

    Ale teraz vážne: to naozaj nikto z tých hackerov, čo si rochnia v Jave, nebol schopný tam nabindovať ncurses, alebo niečo podobné?

    Nothing is impossible for the man who doesn't have to do it himself.
    hikikomori82 avatar 27.5.2009 11:08 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Myslim ze to robi aj libreadline
    30.5.2009 13:03 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    Tak doplnovani TABem zprovozneno, zatim teda jeste nabizi vsechny predmety, ale to jeste osetrim podminkou aby nabizel jen predmety z aktualni mistnosti a z inventare. Uz se blizim ke konci s pribehem. Stahovat muzete na linku uvedenem vyse.
    30.5.2009 13:04 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Textová adventura v Pythonu
    pozn.: TAB completion nefunguje zatim ve Windows - zatim jsem nezprovoznil gnu readline v tomto systemu.

    Založit nové vláknoNahoru

    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2012 Argonit s. r. o. Všechna práva vyhrazena.