Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cursos:z88dk:avent1 [09-08-2007 13:38]
sromero
cursos:z88dk:avent1 [24-02-2020 20:23] (actual)
falvarez
Línea 1: Línea 1:
 +Publicado originalmente en [[https://magazinezx.speccy.org/07/z88dk.html|MagazineZX número 7]] (mayo 2004)
  
 ====== Creando una aventura conversacional (I) ====== ====== Creando una aventura conversacional (I) ======
Línea 54: Línea 55:
  
 Para tener claro como va a ser el entorno de juego, es necesario dibujar un mapa. En dicho mapa deben estar claras cúales van a ser las localizaciones o habitaciones por las que va a poder desplazarse el jugador, y cómo van a estar conectadas entre sí. En el caso de nuestro ejemplo concreto, vamos a crear un mapa de la taberna de la isla de Melêe, en donde Guybrush, nuestro personaje, buscará a un maestro de piratería. Un mapa perfectamente válido podría ser el siguiente: Para tener claro como va a ser el entorno de juego, es necesario dibujar un mapa. En dicho mapa deben estar claras cúales van a ser las localizaciones o habitaciones por las que va a poder desplazarse el jugador, y cómo van a estar conectadas entre sí. En el caso de nuestro ejemplo concreto, vamos a crear un mapa de la taberna de la isla de Melêe, en donde Guybrush, nuestro personaje, buscará a un maestro de piratería. Un mapa perfectamente válido podría ser el siguiente:
 +
 +{{ cursos:z88dk:z88dk_1.jpg |Nuestro mapa}}
  
 Como vemos, cada habitación está numerada. Esto es muy importante, luego veremos por qué. Las líneas que unen dos habitaciones adyacentes indican que dichas habitaciones están comunicadas; esto quiere decir que desde una habitación podremos acceder a la otra y viceversa. Además de dibujar el mapa, debemos escribir una descripción para cada habitación. Para nuestra aventura concreta, podríamos usar las siguientes descripciones: Como vemos, cada habitación está numerada. Esto es muy importante, luego veremos por qué. Las líneas que unen dos habitaciones adyacentes indican que dichas habitaciones están comunicadas; esto quiere decir que desde una habitación podremos acceder a la otra y viceversa. Además de dibujar el mapa, debemos escribir una descripción para cada habitación. Para nuestra aventura concreta, podríamos usar las siguientes descripciones:
Línea 221: Línea 224:
 Si compilamos y ejecutamos, veremos nuestro primer resultado: se mostrará la descripción de la habitación inicial, y se nos mostrarán las direcciones de salida... y ahí acabará el programa, pues no hemos dicho que haga nada más. Si compilamos y ejecutamos, veremos nuestro primer resultado: se mostrará la descripción de la habitación inicial, y se nos mostrarán las direcciones de salida... y ahí acabará el programa, pues no hemos dicho que haga nada más.
  
-Comienza la aventura +{{ cursos:z88dk:z88dk_2.png |Comienza la aventura}} 
-Comienza la aventura+
  
 ===== El intérprete de comandos ===== ===== El intérprete de comandos =====
Línea 353: Línea 356:
  
 Y ya está... si compilamos y ejecutamos el .tap en el emulador, veremos como ya podemos movernos por nuestro mundo conversacional. Y ya está... si compilamos y ejecutamos el .tap en el emulador, veremos como ya podemos movernos por nuestro mundo conversacional.
-Moviéndonos por el mundo que hemos creado + 
-Moviéndonos por el mundo que hemos creado+{{ cursos:z88dk:z88dk_3.png |Moviéndonos por el mundo que hemos creado}} 
  
 ===== ¿Y ahora qué? ===== ===== ¿Y ahora qué? =====
Línea 362: Línea 366:
  
 A partir de ahora, crear la aventura conversacional será tan fácil como añadir nuevos comandos inteligibles por nuestro intérprete de comandos, mediante más sentencias if, y creando las estructuras de datos adecuadas para que eso sea posible. En próximas entregas crearemos objetos y haremos que el jugador pueda interactuar con ellos, al mismo tiempo que veremos algunas opciones más de formateo de texto. A partir de ahora, crear la aventura conversacional será tan fácil como añadir nuevos comandos inteligibles por nuestro intérprete de comandos, mediante más sentencias if, y creando las estructuras de datos adecuadas para que eso sea posible. En próximas entregas crearemos objetos y haremos que el jugador pueda interactuar con ellos, al mismo tiempo que veremos algunas opciones más de formateo de texto.
 +
  
  
 ===== Enlaces ===== ===== Enlaces =====
  
-    * Archivos fuente del ejemplo propuesto (fuentes.tar.gz)+    * [[https://magazinezx.speccy.org/07/src/fuentes.tar.gz|Archivos fuente del ejemplo propuesto]]