Práctica del proyecto Python "Juego de guerra de aviones"

Tabla de contenido

1. Introducción al paquete de biblioteca Pygame

2. Instalación de Pygame

3. Ideas de desarrollo de proyectos

3.1 Prefacio

3.2 Pasos de desarrollo de la guerra de aviones


1. Introducción al paquete de biblioteca Pygame

Pygame es una biblioteca de desarrollo de juegos basada en Python que proporciona una serie de herramientas e interfaces que permiten a los desarrolladores crear fácilmente varios tipos de juegos, incluidos juegos 2D y juegos 3D simples. Para decirlo sin rodeos, es un paquete de directorio que contiene muchos módulos de funciones y atributos definidos.

2. Instalación de Pygame

Windows como ejemplo:

 #Tutorial sobre el uso de módulos en la biblioteca de pygame: https://www.pygame.org/docs

 

 

3. Ideas de desarrollo de proyectos

3.1 Prefacio

atributo __nombre__

Sé que puede haber varios archivos "*.py" en un proyecto y que cada archivo "*.py" define muchas funciones funcionales que se utilizarán como archivos de módulo. Una vez creado el archivo del módulo, para probar si las funciones definidas en el módulo se pueden utilizar, los desarrolladores generalmente llaman a los métodos de función que escribieron en el archivo del módulo. De esta manera, cuando el archivo principal "*.py" del programa quiere usar una función en el módulo, necesita importar el archivo del módulo correspondiente al archivo de inicio "*.py" (importar el módulo equivale a copiar el código en el archivo del módulo en esta ubicación de importación "*.py"); esto hará que cuando se llame a una función en el módulo, también se ejecute el código que se ha escrito para llamar a la función en el archivo del módulo. Por lo tanto, para evitar este tipo de cosas, podemos agregar un juicio "__name__="__main__" en el archivo del módulo en la llamada a la función antes de llamar a la función.

1. Cuando el archivo "*.py" se utiliza como archivo de inicio, el valor de __name__ en el archivo es "__main__"

2. Cuando el archivo "*.py" se importa al archivo de inicio "*.py" como módulo, el valor del atributo __name__ en el módulo es igual al nombre de archivo de su módulo, y el valor de __name__ en este inicio El archivo es "__main__".

Resumen: si el archivo .py donde __name__="__main__" se importa como módulo, el valor de __name__ en el archivo es igual al nombre del archivo del módulo. Pero si lo ejecuta directamente desde un archivo local, el valor de __name__ es "__main__".

3.2 Pasos de desarrollo de la guerra de aviones

Nota: El paquete de recursos del código fuente de "Plane War Game" se ha subido al principio de este artículo. ¡Bienvenido a descargarlo y probarlo!

1. Crea una ventana de juego

        1. Establecer el tamaño de la ventana

        2. Establecer el título de la ventana

        3. Establecer icono de ventana

2. Añade efectos de sonido

        1. Efectos de sonido de fondo del juego.

        2. El avión enemigo es alcanzado y explota con efectos de sonido.

3. Defina listas de enemigos y viñetas para guardar los objetos de instancia correspondientes.

4. Bucle para crear objetos de instancia enemigos.

5. Definir la función de distancia pitagórica.

6. Defina la función de visualización de la fuente de la partitura.

7. Definir las funciones de visualización del eslogan de fin del juego y eliminación de objetos.

8. Defina una lista para guardar balas y objetos de instancia enemiga.

9. while se repite todo el tiempo

*Los cambios dinámicos en la pantalla del juego que vemos son en realidad similares al principio de reproducción de video: todas son imágenes relacionadas que se muestran en la pantalla a su vez. Cuando el usuario mira la pantalla a simple vista, debido a la rápida velocidad del carrusel de las imágenes frontal y posterior en la pantalla, le da al usuario una sensación de video que cambia dinámicamente; de ​​hecho, los videos dinámicos que ve el usuario son los efectos dinámicos mostrados por el carrusel de imágenes una por una. Por lo tanto, los bucles se pueden utilizar en los juegos para mostrar los cambios de posición en tiempo real de las especies del juego para lograr efectos visuales dinámicos.

        1. Dibuja la imagen de fondo.

        2. Monitoreo de eventos del teclado o mouse del jugador

                ●Cuando el jugador presiona diferentes teclas, la posición correspondiente del avión del jugador también cambiará.

                ●El jugador presiona la barra espaciadora para disparar una bala y crear un objeto de instancia de bala.

        3. Mostrar la posición del jugador

                ●Definir y crear clases de aviones de jugador y objetos de instancia.

                ●Definir atributos de instancia: la posición inicial de la imagen del eje x,y del avión del jugador.

                                          Definir la velocidad de movimiento del jugador, es decir, la variable de valor de cambio de coordenadas.

                                          Cargar imagen del avión del jugador

               ● Definir el método de control de límites de movimiento del jugador (solo puede moverse dentro del rango horizontal del eje x especificado)

        4. Mostrar enemigos

                ●Definir clases de enemigos.

                ●Atributos de instancia: define aleatoriamente las coordenadas iniciales xey valores de la imagen enemiga

                                    Definir variables de velocidad de movimiento del enemigo.

                                    Cargar imágenes enemigas

                ●Define el método de movimiento del enemigo: el valor predeterminado es moverse horizontalmente, moverse en la dirección opuesta más allá de los límites izquierdo y derecho y dar un paso adelante hacia el jugador. Al llegar al final de la pantalla o ser alcanzado por una bala, la posición del enemigo se inicializará aleatoriamente para darle al jugador la ilusión de un flujo constante de enemigos.

        5. Mostrar viñetas de jugador

                ●Definir clase de viñeta

                ●Defina atributos de instancia de clase de bala: Coordenadas de posición inicial de la bala (siempre un poco por encima de la cabeza del avión del jugador)

                                                       Velocidad de movimiento de la bala

                                                       Cargar imagen de viñeta

                ●Defina el método para que la bala impacte al enemigo: defina la función del teorema de Pitágoras para medir la distancia entre la bala y el avión; si la distancia entre los dos está dentro de un cierto rango, significa golpear al enemigo---->La bala y el enemigo desaparece (el enemigo explota cuando es golpeado) Efecto de sonido)---->Elimina el objeto de bala en la lista y restablece la posición del avión enemigo.

               ●Defina el método de movimiento de la bala: la bala se mueve hacia arriba una vez en cada bucle; si la bala llega a la parte superior de la ventana, desaparece.

        6. Mostrar puntuaciones de los jugadores

                ●Fuera del bucle: acumula la variable de fracción en +1, inicializa la función de fuente, establece la fuente y su tamaño.

                ●Defina la función de visualización de la fuente de la partitura: defina la variable de contenido de la fuente; infecte la fuente decorativa (color) a través de la variable de fuente; muestre la fuente de la partitura.

        7. Mostrar fin del juego

                ●Llame a la función de fin del juego (el juego termina cuando el avión del jugador choca con el avión del enemigo ---> limpiar todos los objetos ----> mostrar el banner de fin del juego)

        8. Actualice el contenido de la ventana (para cada ciclo, los cambios de posición de cada objeto en esta ronda se mostrarán en la imagen de fondo)

@Statement: El nivel de conocimiento del blogger "Shan Yue Run Silent" es limitado. Si hay alguna inexactitud en el artículo anterior, los entusiastas de TI pueden corregirme. ¡Definitivamente aprenderé de usted con la mente abierta!

Supongo que te gusta

Origin blog.csdn.net/qq_60243891/article/details/132525268
Recomendado
Clasificación