CAAD
http://foro.caad.es/

¿Cómo crear una aventura en lenguaje Python?
http://foro.caad.es/viewtopic.php?f=18&t=5733
Página 1 de 1

Autor:  Yidu [ 01 Nov 2014 11:40 ]
Asunto:  ¿Cómo crear una aventura en lenguaje Python?

Hola!

Hace algunos años conocí (y compré) el parser PAW que era para el mítico Spectrum. Venia en un estuche con dos cintas y dos buenos manuales. Creo que realicé alguna aventurilla por aquella época.

Ahora estoy estudiando el lenguaje Python y me gustaría poder realizar una aventura (aunque fuera de solo texto) para ir practicando con el lenguaje. Eso sí, sin utilizar de momento la programación orientada a objetos. Sería, mas bien, utilizando la programación funcional.

Con esta idea se pueden practicar muchos conceptos de este (y otros lenguajes): Ciclos, bucles, definición de funciones, uso de matrices y listas, uso de excepciones, diccionarios, etc...

En el tema del inventario del personaje, lo tengo claro. Supongo que se utilizarán vectores (listas en Python). Y para movernos por las localidades es lo que me surge la duda ¿Cómo se definen para ir de una localidad a otra? Y que de esa forma, se puedan dejar objetos en una localidad y que al volver sigan allí.

El uso de la inteligencia artificial o PSI sería un poco mas complicado, creo...

Sería algo parecido a este ejemplo en inglés:

http://www.bluzeandmuse.com/final_site/how_to.html

Pero claro, hay cosas que no entiendo y aún lo veo un poco avanzado para mi ¿Sabéis si hay algo parecido en castellano?

Bueno, saludos y gracias por adelantado.

Autor:  Al-Khwarizmi [ 01 Nov 2014 13:28 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Realmente es una pena que no quieras usar programación orientada a objetos, porque es que se adapta a la creación de aventuras como un guante. Creo que hay pocos dominios que parezcan más "hechos a propósito" para programar orientado a objetos que la creación de aventuras, porque las habitaciones, cosas, personajes, etc. son objetos muy naturales. Implementarlas de cualquier forma que no sea como objetos casi parece forzado.

De todas formas, si realmente no quieres usar objetos, supongo que lo más lógico será en Python que tengas una lista de habitaciones, y que cada habitación sea un diccionario con distintas entradas como "descripción", "inventario", "salidas", etc. Para lo que dices del movimiento, "salidas" podría ser una lista de tuplas, donde cada tupla tenga por ejemplo una dirección y el número de habitación (índice en la lista de habitaciones) al cual conduce. Para lo de los objetos que dejas en las habitaciones, "inventario" sería una lista de identificadores de cosas que estarían en una lista de cosas. De nuevo, las cosas podrían ser diccionarios con "descripción", etc.

Que conste que no tengo mucho nivel en Python, igual algún pythonero te dice una manera mejor.

Autor:  Yidu [ 01 Nov 2014 13:46 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Muchas gracias Al-Khwarizmi. Bueno, de hecho no quiero decir que no vaya a tratar dentro de poco la POO. Pero claro, si estoy en fase de aprendizaje en Python (con las estructuras de control, funciones, secuencias...) me parece ir demasiado rápido querer también aprender a la vez la POO. Por eso, quiero hacer aunque sea de manera simple una pequeña aventura de manera más funcional.

Lo que me parece sorprendente que este lenguaje (Python) no tenga mas soporte para este tipo de temas. Me parece un lenguaje ideal para este tipo de aventuras de texto y gráficos.

Saludos!

Autor:  edlobez [ 01 Nov 2014 13:56 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Bueno en python hay algo de Francisco Pinchentti. Este enlace lo publicó no hace mucho en fb. https://bitbucket.org/fj_pin/pysud/wiki/Home

Creo que esto exactamente no es lo que te interesa, ya que intentas crearlo todo desde cero, parser, habitaciones... y en el proyecto de Francisco Pinchentti creo que ya todo eso lo tiene hecho, sólo te tienes que preocupar de pensar la historia y montarla en base a la herramienta que ha creado. Y ojo digo CREO porque sólo lo he mirado muy por encima.

Autor:  dddddd [ 01 Nov 2014 14:03 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Hay un libro casi igual de clásico que lo de tu enlace. Es posible que te dé algunas ideas como punto de partida, aunque no está enfocado a python (y mucho menos a la programación funcional).

Programa tus propias aventuras en tu computadora de Plesa-SM, que es una traducción del Write Your Own Adventure Programs for Your Microcomputer.

Se ha mencionado un par de veces en el foro, pero ya no funcionan las descargas, en el msxblog sí.
viewtopic.php?f=16&t=2617
viewtopic.php?f=16&t=5092

Autor:  dddddd [ 01 Nov 2014 14:28 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Por cierto (ya decía yo que me sonaba)... Sobre tu enlace, hice un par de comentarios en viewtopic.php?f=10&t=5224

Autor:  Yidu [ 01 Nov 2014 14:48 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Aquí dejo un pdf que también resulta interesante sobre el tema que comente. Lástima que sobre Python no encuentro casi nada...

http://e-archivo.uc3m.es/bitstream/handle/10016/11083/PFC_Alberto_Jose_Corrales_Garcia.pdf?sequence=2

Autor:  Johan Paz [ 02 Nov 2014 02:52 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Ya hace tiempo que creo que el OO no es en realidad el paradigma más adecuado para la FI, porque la FI tiene más que ver con las excepciones que con lo común, pero bueno... no está de más volver a enlazar de nuevo esta vieeeeja presentación:

http://eblong.com/zarf/essays/rule-based-if/

Autor:  Yidu [ 02 Nov 2014 18:09 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Johan Paz escribió:
Ya hace tiempo que creo que el OO no es en realidad el paradigma más adecuado para la FI, porque la FI tiene más que ver con las excepciones que con lo común, pero bueno... no está de más volver a enlazar de nuevo esta vieeeeja presentación:

http://eblong.com/zarf/essays/rule-based-if/


Ok. Eso me deja mas tranquilo. Miraré si encuentro algo de información para hace alguna aventura con programación modular.

Autor:  Yidu [ 03 Nov 2014 21:14 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Bueno...me ha costado un poco, pero al final lo he encontrado :D (me refiero al tutorial). Me parecía increíble que tantos años que lleva Python y no hubiera algo parecido por la red.

Aquí dejo el enlace por si a alguien le puede interesar:

http://pythonwiki.wikispaces.com/file/view/Python+(Pr%C3%A1ctica+5).pdf

Autor:  edrperez [ 03 Nov 2014 21:27 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Buenas, no conocía esa guía, gracias.

Aunque todo está en inglés (al final es la lógica del código lo que hay que ver), también te puede interesar https://www.youtube.com/watch?v=8CDePunJlck y en este enlace en adelante http://learnpythonthehardway.org/book/ex43.html

Hay otros recursos que investigué el año anterior:

http://www.daniweb.com/software-development/python/code/244474/pygame-text-python
http://inventwithpython.com/pygcurse/
https://github.com/soapy1/TextAdventure
http://livingcode.org/entries/2008-02-22_simple-text-adventure/
http://mail.python.org/pipermail/tutor/2005-December/043754.html
http://zephyrfalcon.org/weblog/arch_d7_2003_10_04.html#e361
http://www.awaretek.com/nowak/towards_advsys_1.html
http://ubuntuforums.org/showthread.php?t=1852665
http://forum.codecall.net/topic/65621-wippython-3-text-based-adventure-game/
https://onioncoder.wordpress.com/2012/08/19/how-python-text-adventure-game-works/
http://young-programmers.blogspot.com/2011/02/python-simple-text-adventure.html
http://black-pixel.net/python-text-adventure-game-displaying-text-slowly.html
http://www.daniweb.com/software-development/python/threads/55140/how-would-i-make-a-text-adventure
http://stackoverflow.com/a/5279825
http://coolnamehere.com/geekery/python/ifiction/index.html
http://williamedwardscoder.tumblr.com/post/21865366869/how-to-make-a-text-adventure


Ojalá sirva, saludos.

Autor:  dddddd [ 09 Ene 2015 17:45 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Citar:
This tutorial uses two Python modules, cmd and textwrap and makes minimal use of object-oriented programming, but you don't have to know OOP concepts to follow. [...] This tutorial is for beginner Python 3 programmers.

Making a Text Adventure Game with the cmd and textwrap Python Modules

Autor:  franJP [ 17 Feb 2015 03:34 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Uy se me paso esto fue hace tiempo pero por si las moscas.

Yo hace unos años tuve la misma inquietud que el autor original del thread y empecé a programar en python una pequeña libreria para aprenderlo (aunque si usé algunos principios de poo).
El repo se mudó a github y sigue siendo libre: https://github.com/francisco-pinchentti/pysud

Respecto a bibliografia en español para aprender python creo que inmersion en python es un buen punto de inicio yo empecé con ese entre otros. No enseña realmente fundamentos de poo pero en general ni un tutorial ni un manual de referencia de un lenguaje en particular apuntan a enseñar porgramación orientada a objetos. De este ultimo tema no soy un experto lo que se lo aprendi en la facultad y creo que es mejor estudiarlo por separado. Digamos así quedan bien separados los principios de la poo de las particularidades de tal o cual lenguaje.

Autor:  Anubys [ 17 Feb 2015 15:36 ]
Asunto:  Re: ¿Cómo crear una aventura en lenguaje Python?

Echale un vistazo a esto http://www.albertogarcia.info/libros/sd ... %20SDL.pdf apartir de la pagina 13 a 23 , hay un ejemplo de diseño de un juego conversacional en c, que no te sea dificil implementar en python.

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/