Cómo codificar tu propio juego de aventura en Python
CómoCómo codificar tu propio juego de aventura en Python
La Raspberry Pi es una maravillosa pieza de tecnología, pero muchas personas no la utilizan en todo su potencial. Con tu Raspberry Pi puedes crear lo que quieras: un robot que detecta su entorno, un centro multimedia para ver películas o un mundo de fantasía y aventura creado a partir de algunas líneas de código simples y mucha imaginación de ti mismo..
En la década de 1980, los gráficos de computadora todavía estaban en su infancia, con personajes de juego en bloque y una paleta de colores limitada para trabajar. Era muy común que los juegos de aventura y de rol estuvieran completamente dirigidos por texto, con el jugador utilizando su imaginación para crear visiones del mundo del juego..
Juegos como Zork crearon mundos ricos, con historias y personajes atractivos, pero con muy pocos gráficos para ilustrar los entornos. Esto siguió siendo así hasta finales de los 80 y principios de los 90, y solo cambió debido a un trabajo fantástico de LucasArts, que creó una colección de juegos clásicos de aventuras gráficas como Loom, Monkey Island y Full Throttle..
- Mira nuestra colección de fantásticos proyectos de Raspberry Pi.
Para este tutorial, usaremos nuestra Raspberry Pi y un lenguaje de programación llamado Python para crear nuestra propia aventura de texto, con nuestro propio mundo de juego y algunos personajes para habitar ese mundo. Y todo esto se creará utilizando un código Python y algunos conceptos de programación..
Python es un lenguaje de programación fácil de aprender, que se ha convertido en uno de los favoritos de los usuarios y escuelas de Raspberry Pi en todo el Reino Unido..
Entonces, ¿qué es Python?
Python es un lenguaje de programación textual, y con eso queremos decir que está escrito en un editor. Python utiliza una sintaxis muy indulgente y es muy fácil de leer, lo que hace que aprender a codificar sea una experiencia realmente agradable..
En la Raspberry Pi, ya tenemos un gran editor de código instalado de serie: se llama IDLE y lo usaremos para construir nuestro juego. Puede encontrar un enlace a IDLE en el escritorio de Raspberry Pi.
Python viene preinstalado en cada Raspberry Pi que ejecuta el sistema operativo Raspbian. Si no tiene Raspbian instalado en su Pi, puede obtener una copia del sitio web de Raspberry Pi.
Es parte del archivo fácil de usar NOOBS (New Out of the Box Software), que se puede descargar y luego extraer en una tarjeta SD en blanco de 4GB (o más).
Actualmente hay dos versiones de Python disponibles: versiones 2.7 y 3. Para este tutorial, usaremos 2.7, porque tiene la mayor cantidad de soporte y documentación. Python 3 es un excelente lenguaje para aprender y ciertamente es el futuro del lenguaje, pero actualmente se encuentra en un estado de flujo y solo debe ser utilizado por programadores experimentados de Python..
Creando una narrativa
Nuestro juego necesita dos cosas: una historia para mantener al jugador entretenido y lógica para controlar cómo se desarrolla la historia. Para nuestra historia, estamos creando el mundo de Narule, donde la magia y la aventura están a la vuelta de la esquina. Y estamos creando un héroe, usted, que debe viajar por la tierra, visitar nuevos pueblos y asentamientos y hablar con la gente para aprender más sobre esta tierra y la sombra oscura que proyecta sobre ella..
Para comenzar nuestro proyecto, hemos creado una narrativa para que usted pueda ampliar. Siéntase libre de hacer suya la historia, ese es el objetivo de este tutorial. Este es tu juego. Para comenzar, hemos creado algunos códigos para que actúen como una plantilla de inicio. Puede descargar una copia gratuita aquí.
Descargue el código, luego ábralo usando IDLE ('Archivo> Abrir' y navegue hasta donde descargó el código). Ahora observe el código y preste especial atención a cualquier línea que comience con un #, ya que estos son comentarios en el código, que se agregaron para ayudarlo a comprender lo que el código está haciendo en ese momento..
Actualmente, nuestro código tiene una historia básica sobre la cual podemos expandirnos, y lo haremos durante el curso de este tutorial. Nuestra historia se desarrolla a través de bloques de texto que forman nuestra narrativa, y verá que cada bloque se parece a esto:
chapter1 = "Era una noche fría, y la lluvia barrió desde
Occidente con una ferocidad conocida solo por los dioses ".
Estas se llaman variables y nos permiten almacenar gran cantidad de texto o números. Los usamos para contener nuestra historia, y luego, cuando queremos usarlos, usamos la función de impresión de esta manera:
imprimir el capítulo 1
La función de impresión mira dentro de la variable e imprime su contenido en la pantalla, lo que es realmente útil y significa que solo tenemos que escribir la historia una vez y podemos reutilizarla tantas veces como deseamos..
Prev Página 1 de 15 Siguiente Prev Página 1 de 15 SiguienteConceptos de programación
Python es un gran lenguaje para aprender porque es muy fácil de entender, y una vez que domines los conceptos de la lógica de programación con Python, estarás en el buen camino para desarrollar aplicaciones más grandes..
Independientemente del idioma que utilice, los conceptos subyacentes de la codificación proporcionan una base sólida que se puede utilizar en muchos idiomas. Los conceptos principales son:
Secuencias
Una serie de tareas que se deben completar en un cierto orden. Por ejemplo, los pasos necesarios para resolver un laberinto..
Bucles
Una forma de repetir una secuencia. Se puede ejecutar para siempre (mientras sea verdadero) o se puede controlar con una instrucción for (para x en el rango (0,3)).
Paralelismo
Ejecutando más de una secuencia de código al mismo tiempo.
Eventos
Un evento es un disparador que inicia una secuencia de código, y el evento más visible en el juego que estamos creando es ingresar el nombre de nuestro héroe para comenzar el juego.
Datos
Usamos una variable para almacenar el valor del nombre de nuestro héroe, y luego podemos recuperar y manipular la variable para mostrar el nombre del jugador a lo largo del juego, personalizando la experiencia de juego..
Condicionales
Los condicionales forman la base de nuestra lógica y nos proporcionan un método para comparar los datos con la información proporcionada por el jugador. Usamos condicionales en nuestro juego para comparar la respuesta dada con la respuesta esperada. Si coinciden, en lógica booleana esto se clasificaría como VERDADERO.
Los operadores
Estas son las reglas matemáticas básicas que aprendimos en la escuela. Podemos aplicar operadores a texto y números, lo que nos permite realizar cálculos en nuestro código e iterar datos si es necesario.
Prev Página 2 de 15 Next Prev Página 2 de 15 Next1. Juega el juego
IDLE tiene dos ventanas con las que trabajar: el editor, que contiene nuestro código, y un shell, donde se juega nuestro juego. Para iniciar el juego, en el editor, haga clic en 'Ejecutar', luego en 'Ejecutar módulo'.
La ventana de la cáscara aparece delante de cada otra ventana y nuestro juego comienza a jugar.
Prev Página 3 de 15 Siguiente Prev Página 3 de 15 Siguiente2. Importar módulos.
Los módulos creados por otros codificadores se pueden importar a su código. Estamos importando dos módulos: Aleatorio, que contiene código que nos permite usar la opción aleatoria para nuestro personaje; y Tiempo, que nos permite trabajar con tiempo y pausar el juego..
Prev Página 4 de 15 Siguiente Prev Página 4 de 15 Siguiente3. Crea funciones
Puedes agrupar muchos códigos en una función. Para crear uno, usamos def name (): esto crea una función llamada name, y podemos llamar a la función como queramos..
Presionamos [Enter] y Python sangra nuestro código por cuatro espacios, y espera el código que se ejecutará en esta función.
Prev Página 5 de 15 Siguiente Prev Página 5 de 15 Siguiente4. Utilizar variables.
Usamos variables para almacenar información que podemos usar más adelante. Por ejemplo, guardamos nuestra narrativa y la reutilizamos muchas veces. Piense en las variables como cajas vacías: podemos poner cualquier cosa en ellas y escribir su nombre en el lado.
Verá el término 'global' usado con algunos nombres de variables; Esto nos permite usarlos dentro y fuera de las funciones..
Prev Página 6 de 15 Siguiente Prev Página 6 de 15 Siguiente5. Obtener entrada
La entrada sin formato es la forma Python de solicitar la entrada del jugador. Lo usamos para capturar el nombre del jugador y para capturar sus decisiones en el juego.
La entrada sin formato captura la entrada del teclado como una cadena de texto, por lo que cualquier número capturado debe convertirse en un entero o flotante, y esto puede hacerse utilizando las funciones de ayuda int () y float ().
Prev Página 7 de 15 Siguiente Prev Página 7 de 15 Siguiente6. Hacer elecciones
Las declaraciones condicionales son elecciones lógicas; los usamos para controlar el flujo del juego, por ejemplo, a qué dirección vas?
Almacenamos la dirección en la que el jugador desea ir como una variable llamada movimiento, luego comparamos el valor almacenado en la variable con la tecla que le pedimos al usuario que presione. Si los dos coinciden, se ejecuta el código relacionado.
Prev Página 8 de 15 Siguiente Prev Página 8 de 15 Siguiente7. Si no y si no
Si ... elif ... else son otras declaraciones condicionales y funcionan de la siguiente manera: se analiza la primera condición y, si eso es correcto (o es cierto en Python), se ejecuta el código que se encuentra debajo de esta condición. De lo contrario, si (elif) esta condición es verdadera, el código se ejecuta para esta declaración.
De lo contrario, todas las condiciones anteriores son falsas, entonces esto debe ser cierto, por lo que este código se ejecuta.
Prev Página 9 de 15 Next Prev Página 9 de 15 Next8. Usar listas
Las listas son grandes contenedores que pueden contener una gran cantidad de datos. Piense en ellos como un archivador lleno de documentos. En nuestro juego, usamos una lista para almacenar nuestro inventario de artículos (nuestra espada y escudo).
Primero creamos una lista vacía usando:
"armas = []"
Al igual que las variables, podemos dar a nuestra lista el nombre que deseemos. Para añadir a nuestra lista utilizamos:
armas.append ("espada")
Prev Página 10 de 15 Siguiente Prev Página 10 de 15 Siguiente9. Elige un número
Los números aleatorios ayudan a nuestro héroe a ser completamente único. Para seleccionar estos números al azar, usamos el módulo aleatorio, en particular una función llamada randint, o entero aleatorio.
Para usar randint, debemos decirle con qué rango de números trabajar, y esto se hace de la siguiente manera:
randint (5,20)
Esto crea un rango entre 5 y 20, y le pide a randint que elija un número aleatorio en ese rango.
Prev Página 11 de 15 Siguiente Prev Página 11 de 15 Siguiente10. Presentar a las personas
Nuestro juego necesita gente interesante con quien hablar, así que vamos a crear uno. Verá en la línea 57 del código que tenemos una nueva función que maneja un aldeano al azar.
Su nombre es aleatorio y se selecciona de una lista, pero primero mezclamos la lista y luego seleccionamos el primer elemento de la lista, que en Python siempre es 0 (cero) o npcnamechoice [0].
Prev Página 12 de 15 Siguiente Prev Página 12 de 15 Siguiente11. Expandir la historia
Añadir nuevo contenido a tu juego es fácil. Si desea agregar nuevos personajes o aldeanos, la mejor manera es crear una nueva función. De esa manera, el código para cada nueva entrada está contenido en su propia función, pero se puede usar fácilmente en tu juego.
Su narrativa debe juntar estas funciones y proporcionar una historia lineal para que el jugador la siga..
Prev Página 13 de 15 Siguiente Prev Página 13 de 15 Siguiente12. escoge una pelea
¿Qué pasa con el combate? Los enemigos se pueden crear de la misma manera que los aldeanos, pero tal vez le gustaría darles puntos de magia y salud asignados al azar (HP y MP en la aventura hablan), tal como le dio a su héroe.
Cree una nueva función que contenga un enemigo y colóquela en su código en un punto establecido, luego pruebe su código.
Prev Página 14 de 15 Siguiente Prev Página 14 de 15 Siguiente13. Unir cadenas y números
Cuando trabajamos con texto o, en Python speak, cadenas, es posible que queramos unir una cadena y un número. Si intentamos hacerlo así:
Imprimir "Hola" + 1
Python produce un error que dice que los dos no se pueden unir. Pero si envolvemos el entero en una función auxiliar llamada str (), podemos unirlos a ambos de la siguiente manera:
Imprimir "Hola" + str (1)
- ¿Te ha gustado este artículo? Amplíe su conocimiento de Linux, obtenga más de su código y descubra los últimos desarrollos de código abierto dentro de Linux Format. Lea nuestra muestra hoy y aproveche la oferta en el interior..