Avant de vous lancer dans le codage de Space Invaders à l'aide de Python, assurez-vous que votre environnement de développement est correctement configuré. Vous aurez besoin de Python installé sur votre machine. Python 3.8 ou supérieur est recommandé pour une meilleure compatibilité avec les bibliothèques. De plus, installez Pygame, qui est un ensemble de modules Python conçus pour écrire des jeux vidéo. Pygame fournit des fonctionnalités telles que la création de fenêtres, la capture d'événements de souris et le rendu d'éléments graphiques, essentiels au développement de jeux.
Installez Python et Pygame avec les commandes suivantes :
# Install Python (if not already installed) sudo apt-get install python3.8 # Install Pygame pip install pygame
Commencez par créer un fichier Python nommé space_invaders.py. Ce fichier contiendra tout le code nécessaire à notre jeu. Tout d’abord, initialisez la fenêtre de jeu à l’aide de Pygame. La taille de la fenêtre peut être réglée sur 800x600 pixels, ce qui est suffisant pour s'adapter confortablement à tous les éléments du jeu.
import pygame import sys # Initialize Pygame pygame.init() # Set up the display screen_width = 800 screen_height = 600 screen = pygame.display.set_mode((screen_width, screen_height)) # Set the title of the window pygame.display.set_caption('Space Invaders') # Game loop while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # Update the display pygame.display.update()
Ce code initialise Pygame et configure une fenêtre de 800x600 pixels. La boucle while True: est la boucle de jeu, qui est une boucle infinie où tous les événements sont traités et l'état du jeu est mis à jour et affiché à l'écran. La fonction pygame.event.get() est utilisée pour gérer des événements comme la fermeture de la fenêtre de jeu.
Ensuite, ajoutez le vaisseau spatial du joueur au jeu. Créez une image pour le vaisseau spatial et placez-la en bas au centre de la fenêtre de jeu. Vous pouvez utiliser n’importe quelle image PNG simple pour le vaisseau spatial. Chargez cette image dans votre jeu et contrôlez son mouvement avec les entrées du clavier.
# Load the spaceship image spaceship_img = pygame.image.load('spaceship.png') spaceship_x = 370 spaceship_y = 480 spaceship_speed = 0.3 def player(x, y): screen.blit(spaceship_img, (x, y)) # Game loop while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # Event handling for moving the spaceship if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: spaceship_x -= spaceship_speed if event.key == pygame.K_RIGHT: spaceship_x += spaceship_speed # Rendering the player's spaceship player(spaceship_x, spaceship_y) pygame.display.update()
La fonction joueur est chargée de dessiner le vaisseau spatial aux coordonnées (spaceship_x, spaceship_y). Le mouvement du vaisseau spatial est contrôlé par les touches fléchées gauche et droite. L'ajustement de la variable spaceship_x déplace le vaisseau spatial horizontalement.
Pour ajouter des ennemis au jeu, créez plusieurs instances d'une image ennemie. Positionnez-les au hasard sur l'écran et faites-les se déplacer vers le joueur. Créez une liste pour stocker la position et la vitesse de chaque ennemi pour une gestion plus facile.
import random # Enemy setup enemy_img = pygame.image.load('enemy.png') enemy_info = [{'x': random.randint(0, 736), 'y': random.randint(50, 150), 'speed_x': 0.2, 'speed_y': 40} for _ in range(6)] def enemy(x, y): screen.blit(enemy_img, (x, y)) # Game loop while True: # Other game loop code omitted for brevity # Move and render enemies for e in enemy_info: enemy(e['x'], e['y']) e['x'] += e['speed_x'] if e['x'] <= 0 or e['x'] >= 736: e['speed_x'] *= -1 e['y'] += e['speed_y'] pygame.display.update()
Chaque ennemi se déplace horizontalement jusqu'à ce qu'il touche le bord de l'écran, auquel cas il descend légèrement et inverse la direction.
Ce didacticiel a couvert la configuration de votre environnement Python, l'initialisation d'une fenêtre Pygame, la création et le contrôle du vaisseau spatial d'un joueur et l'ajout d'ennemis avec un mouvement de base. Cette base ouvre la voie à d’autres améliorations telles que l’ajout de capacités de tir, de détection de collision, de notation, etc. Chaque élément introduit de nouveaux défis et opportunités d'apprentissage, nécessitant potentiellement des optimisations et des améliorations pour améliorer les performances du jeu et l'expérience du joueur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!