„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Blast from the Past: Erstellen Sie Ihr eigenes Space Invaders-Spiel mit Python – eine Schritt-für-Schritt-Anleitung

Blast from the Past: Erstellen Sie Ihr eigenes Space Invaders-Spiel mit Python – eine Schritt-für-Schritt-Anleitung

Veröffentlicht am 09.11.2024
Durchsuche:845

Blast from the Past: Build Your Own Space Invaders Game with Python - A Step-by-Step Tutorial

Einrichten Ihrer Entwicklungsumgebung

Bevor Sie mit der Programmierung von Space Invaders mit Python beginnen, stellen Sie sicher, dass Ihre Entwicklungsumgebung korrekt eingerichtet ist. Sie müssen Python auf Ihrem Computer installiert haben. Für eine bessere Kompatibilität mit Bibliotheken wird Python 3.8 oder höher empfohlen. Installieren Sie außerdem Pygame, eine Reihe von Python-Modulen zum Schreiben von Videospielen. Pygame bietet Funktionen wie das Erstellen von Fenstern, das Erfassen von Mausereignissen und das Rendern grafischer Elemente, die für die Spieleentwicklung unerlässlich sind.

Installieren Sie Python und Pygame mit den folgenden Befehlen:

# Install Python (if not already installed)
sudo apt-get install python3.8

# Install Pygame
pip install pygame

Initialisieren des Spielfensters

Erstellen Sie zunächst eine Python-Datei mit dem Namen space_invaders.py. Diese Datei enthält den gesamten notwendigen Code für unser Spiel. Initialisieren Sie zunächst das Spielfenster mit Pygame. Die Fenstergröße kann auf 800x600 Pixel eingestellt werden, was ausreicht, um alle Spielelemente bequem unterzubringen.

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()

Dieser Code initialisiert Pygame und richtet ein Fenster mit 800 x 600 Pixeln ein. Die while True:-Schleife ist die Spielschleife, eine Endlosschleife, in der alle Ereignisse verarbeitet und der Spielstatus aktualisiert und auf dem Bildschirm gerendert wird. Die Funktion pygame.event.get() wird verwendet, um Ereignisse wie das Schließen des Spielfensters zu verarbeiten.

Erstellen des Raumschiffs des Spielers

Fügen Sie als Nächstes das Raumschiff des Spielers zum Spiel hinzu. Erstellen Sie ein Bild für das Raumschiff und platzieren Sie es unten in der Mitte des Spielfensters. Sie können jedes einfache PNG-Bild für das Raumschiff verwenden. Laden Sie dieses Bild in Ihr Spiel und steuern Sie seine Bewegung mit Tastatureingaben.

# 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()

Die Player-Funktion ist dafür verantwortlich, das Raumschiff an den Koordinaten (spaceship_x, spaceship_y) zu zeichnen. Die Bewegung des Raumschiffs wird mit der linken und rechten Pfeiltaste gesteuert. Durch Anpassen der Variablen „spaceship_x“ wird das Raumschiff horizontal verschoben.

Feinde hinzufügen

Um Feinde zum Spiel hinzuzufügen, erstellen Sie mehrere Instanzen eines Feindbildes. Positioniere sie zufällig auf dem Bildschirm und bewege sie auf den Spieler zu. Erstellen Sie eine Liste, um die Position und Geschwindigkeit jedes Feindes zu speichern und so die Verwaltung zu erleichtern.

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'] = 736:
            e['speed_x'] *= -1
            e['y']  = e['speed_y']
    pygame.display.update()

Jeder Feind bewegt sich horizontal, bis er den Rand des Bildschirms berührt. An diesem Punkt bewegt er sich leicht nach unten und kehrt die Richtung um.

Abschluss

In diesem Tutorial wurde das Einrichten Ihrer Python-Umgebung, das Initialisieren eines Pygame-Fensters, das Erstellen und Steuern des Raumschiffs eines Spielers sowie das Hinzufügen von Feinden mit einfachen Bewegungen behandelt. Diese Grundlage schafft die Voraussetzungen für weitere Verbesserungen wie das Hinzufügen von Schussfunktionen, Kollisionserkennung, Punktewertung und mehr. Jedes Element bringt neue Herausforderungen und Lernmöglichkeiten mit sich und erfordert möglicherweise Optimierungen und Verfeinerungen, um die Spielleistung und das Spielererlebnis zu verbessern.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/bernardkibathi/blast-from-the-past-build-your-own-space-invaders-game-with-python-a-step-by-step-tutorial- 2ik2? 1Wenn es einen Verstoß gibt, wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3