Tabla de contenido:
- Paso 1: Descripción general general
- Paso 2: requisitos previos
- Paso 3: "Hola mundo" en Pygame Zero
- Paso 4: Dibujar a tu actor
- Paso 5: controla al actor
- Paso 6: construcción de la pista
- Paso 7: accidente automovilístico
- Paso 8: Ejecuta el juego en Raspberry Pi
- Paso 9: ¿Ganaste?
- Paso 10: Conclusión
Video: Crea tu primer juego de carreras: 10 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Si ha hecho algo de codificación en Python y quería escribir un juego, es posible que tenga en Pygame Zero.
En este tutorial escribiremos un sencillo juego de carreras.
Paso 1: Descripción general general
El módulo Pygame agrega muchas funciones que te ayudan a escribir juegos en Python.
Pygame Zero va un paso más allá para permitirte saltarte el engorroso proceso de hacer todos esos bucles de juego y configurar la estructura de tu programa.
Pygame Zero es una excelente opción para cualquiera que quiera comenzar a escribir juegos de computadora en Raspberry Pi o en cualquier máquina Linux.
Necesitarás:
- Máquina que ejecuta el sistema operativo Linux
- Editor para escribir el programa Python
- Teclado
- Algo de imaginación
Archivos:
github.com/AhmNouira/-Racing-Game
Paso 2: requisitos previos
Primero usaré mi computadora portátil con el sistema operativo Ubuntu 18.04. Luego, ejecutaremos el juego en Raspberry Pi en el paso 8.
Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalación de pip para Python 3
Empiece por actualizar la lista de paquetes con el siguiente comando:
actualización de sudo apt
Utilice el siguiente comando para instalar pip para Python 3:
sudo apt instalar python3-pip
Verifique la instalación comprobando la versión de pip:
pip3 --versión
Instalación de Pygame Zero
pip3 install pgzero --usuario
Esto también instalará Pygame. Paquetes de Pygame precompilados
Entonces, el primer paso en su viaje será abrir Python 3 IDLE o su editor de Python favorito.
Paso 3: "Hola mundo" en Pygame Zero
De forma predeterminada, la ventana de Pygame Zero se abre con un tamaño de 800 píxeles de ancho por 600 píxeles de alto. Puedes personalizar
el tamaño de su ventana, hay dos variables predefinidas que puede establecer, si incluye ANCHO = 700 ALTO = 800.
Pygame zero proporciona funciones predefinidas para manejar el ciclo del juego que normalmente realiza:
La función draw ()
Podemos escribir esta función en nuestro programa de la misma manera que normalmente definiríamos una función en Python.
Pygame Zero sigue las mismas reglas de formato que Python, por lo que deberá tener cuidado de sangrar su código correctamente.
#! / usr / bin / python3 # establece el intérprete
import pgzrun # import pgzero module WIDTH = 700 # ancho de la ventana HEIGHT = 800 # altura de la ventana def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # llena la pantalla con RGB color screen.draw.text ("¡Hola mundo!", (270, 320), # dibujar "¡Hola mundo!" color = (255, 255, 255), tamaño de fuente = 40) pgzrun.go ()
En primer lugar, debe guardar su archivo de programa y darle un nombre.
Luego abra una ventana de Terminal, vaya a la ubicación de su archivo y escriba:
./.py
Paso 4: Dibujar a tu actor
Ahora que tenemos nuestro escenario, podemos crear nuestros Actores, son objetos dinámicos en Pygame Zero.
Podemos cargar un actor escribiendo en la parte superior del programa:
car = Actor ("coche de carreras")
En Pygame Zero, nuestras imágenes deben almacenarse en un directorio llamado images, al lado de nuestro archivo de programa, por lo que nuestro Actor estaría buscando un archivo de imagen en la carpeta de imágenes llamado racecar.png. Puede ser un archivo-g.webp
Puede establecer su posición en la pantalla escribiendo:
car.pos = 350, 560
Después de eso, en nuestra función draw () podemos escribir
car.draw () # dibuja nuestro auto de carrera en su posición definida
El programa completo será así:
#! / usr / bin / python3
import pgzrun WIDTH = 700 # ancho de la ventana HEIGHT = 800 # altura de la ventana car = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # llena la pantalla con car.draw () pgzrun.go ()
Pruebe su programa para asegurarse de que esté funcionando.
Paso 5: controla al actor
Una vez que tenemos nuestro coche dibujando en la pantalla, la siguiente etapa es permitir que el jugador lo mueva.
Podemos hacer esto presionando las teclas. Podemos leer el estado de estas claves dentro de otra función predefinida llamada update ().
La función update ()
Esta función se comprueba continuamente mientras se ejecuta el juego.
Necesitamos escribir algún código para detectar pulsaciones de teclas de flechas y también para hacer algo al respecto.
Entonces agregaremos esta función a nuestro programa
def actualizar ():
if keyboard.left: car.x - = 2 si keyboard.right: car.x + = 2 si keyboard.up: car.y - = 2 si keyboard.down: car.y + = 2
Estas líneas de código moverán el actor del automóvil hacia la izquierda, derecha, adelante y atrás.
Paso 6: construcción de la pista
Ahora que tenemos un coche que podemos conducir, necesitamos una pista para que siga.
Vamos a construir nuestra pista con Actores, una fila a la vez. Tendremos que hacer algunas listas para realizar un seguimiento de los actores que creamos.
También necesitaremos configurar algunas variables más para la pista.
Entonces hagamos una nueva función llamada makeTrack (). La función agregará un actor de pista a la izquierda y otro a la derecha, ambos usando la imagen bare-p.webp
trackLeft = # lista para almacenar restricciones izquierdas
trackRight = # lista para almacenar las barreras derechas trackCount = 0 # cuente el número de barreras trackPosition = 350 trackWidth = 150 # ancho entre las barreras izquierda y derecha def makeTrack (): # función para hacer una barrera a la izquierda y derecha global trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("desnudo", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("desnudo", pos = (trackPosition + trackWidth, 0))) trackCount + = 1
Lo siguiente que debemos hacer es mover las secciones de la pista hacia abajo en la pantalla hacia el automóvil.
Vamos a escribir una nueva función llamada updateTrack (), esta función actualiza donde aparecerán los bloques de pista. Las piezas de pista se crean mediante números aleatorios, por lo que cada reproducción es diferente.
trackDriction = Falso
SPEED = 4 # establece la velocidad del juego desde la importación aleatoria randint # importa la clase randint desde el módulo aleatorio def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 while b
Consulte el archivo zip a continuación llamado "RaceGameDemo".
Si ejecutamos nuestro código en este momento, deberíamos ver una pista serpenteando hacia el automóvil. El único problema es que podemos mover el automóvil sobre las barreras de la vía y queremos mantener el automóvil dentro de ellas con alguna detección de colisión.
Paso 7: accidente automovilístico
Tenemos que asegurarnos de que nuestro coche no toque los actores de la pista.
también podemos probar las colisiones usando el método colliderect () en nuestra función updateTrack ().
En este juego tendremos tres estados diferentes al juego almacenados en nuestra variable gameStatus:
- gameStatus == 0 # el juego se está ejecutando
- gameStatus == 1 # accidente automovilístico
- gameStatus == 2 # juego terminado
Necesitaremos cambiar nuestra función draw () y nuestra función update () para responder a la variable gameStatus.
Últimos retoques
Todo lo que tenemos que hacer ahora es mostrar algo si gameStatus está configurado en 1 o 2, por ejemplo, deberíamos mostrar un rojo
bandera, si el coche choca. Podemos hacerlo con el siguiente código:
screen.blit ("bandera roja", (230, 230))
Para ver si el coche ha llegado a la meta, debemos contar cuántas secciones de la pista se han creado y luego quizás cuando lleguemos a 200, establecer gameStatus en 2 y luego mostrar la bandera a cuadros:
screen.blit ("indicador de acabado", (230, 230))
También mostraremos algún texto en la pantalla como la puntuación actual del juego.
Eche un vistazo a la lista completa de códigos para ver cómo encaja todo esto.
Paso 8: Ejecuta el juego en Raspberry Pi
En Raspberry Pi, pgzero se ha instalado de forma predeterminada desde el lanzamiento de Raspbian Jessie en septiembre de 2015.
Simplemente actualice su Raspberry Pi usando el comando:
sudo apt-get update
Vaya a la ubicación de su archivo y escriba en la Terminal.
pgzrun.py
Paso 9: ¿Ganaste?
Puede hacer el juego más fácil o más difícil cambiando la variable trackWidth para hacer que la pista tenga un ancho diferente. Puede cambiar el valor de SPEED para hacer que la pista se mueva más rápido o más lento.
Paso 10: Conclusión
Pygame Zero es una excelente opción para cualquiera que quiera comenzar a escribir juegos de computadora.
Si tiene alguna pregunta, por supuesto, puede dejar un comentario. Para ver más sobre mis trabajos, visite mi canal:
myYouTube
mi Twitter
myLinkedin
Gracias por leer este instructivo ^^ y que tengas un buen día. Nos vemos. Ahmed Nouira.
Recomendado:
CONSTRUCCIÓN DEL SIMULADOR DE JUEGO DE CARRERAS DE BRICOLAJE PARTE 1: 6 Pasos
CREACIÓN DE SIMULADOR DE JUEGOS DE CARRERAS DE BRICOLAJE PARTE 1: Hola a todos Bienvenidos, hoy les mostraré cómo construyo un " Simulador de juegos de carreras " con la ayuda de Arduino UNO. Canal de YouTube " asegúrate de suscribirte a mi canal A Builds (haz clic aquí) " Este es el blog de compilación, así que le
SIMULADOR DE JUEGO DE CARRERAS DE BRICOLAJE -- SIMULADOR F1: 5 Pasos
SIMULADOR DE JUEGO DE CARRERAS DE BRICOLAJE || SIMULADOR F1: Hola a todos Bienvenidos a Mi canal, Hoy les voy a mostrar cómo construyo un " Simulador de juegos de carreras " con la ayuda de Arduino UNO. esto no es un blog de compilación, es solo una descripción general y una prueba del simulador. Próximamente el blog de compilación completo
Juego de arcade de carreras de caballos de Halloween: 6 pasos
Juego de arcade de carreras de caballos de Halloween: Este año decidimos hacer un juego de arcade de carreras de caballos para Halloween. Nos inspiramos en una versión mecánica llamada Roll-a-Ball Horse Racing. Nuestro objetivo era crear un juego con controles sencillos para atraer a una amplia gama de jugadores. Basado en
Creación de gráficos para un juego de carreras de cero: 7 pasos
Creación de gráficos para un juego de carreras de Scratch: este tutorial le mostrará cómo hacer un juego de carreras dentro de Scratch
Programación del juego de carreras en Scratch: 7 pasos
Programación del juego de carreras en Scratch: este tutorial le mostrará cómo programar un juego de carreras dentro de Scratch del MIT