"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Explosão do passado: construa seu próprio jogo Space Invaders com Python - um tutorial passo a passo

Explosão do passado: construa seu próprio jogo Space Invaders com Python - um tutorial passo a passo

Publicado em 2024-11-09
Navegar:276

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

Configurando seu ambiente de desenvolvimento

Antes de mergulhar na codificação de Space Invaders usando Python, certifique-se de que seu ambiente de desenvolvimento esteja configurado corretamente. Você precisará do Python instalado em sua máquina. Python 3.8 ou superior é recomendado para melhor compatibilidade com bibliotecas. Além disso, instale o Pygame, que é um conjunto de módulos Python projetados para escrever videogames. O Pygame oferece funcionalidades como criação de janelas, captura de eventos do mouse e renderização de elementos gráficos, essenciais para o desenvolvimento de jogos.

Instale Python e Pygame com os seguintes comandos:

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

# Install Pygame
pip install pygame

Inicializando a janela do jogo

Comece criando um arquivo Python chamado space_invaders.py. Este arquivo conterá todo o código necessário para o nosso jogo. Primeiro, inicialize a janela do jogo usando Pygame. O tamanho da janela pode ser definido para 800x600 pixels, o que é suficiente para acomodar confortavelmente todos os elementos do jogo.

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

Este código inicializa o Pygame e configura uma janela de 800x600 pixels. O loop while True: é o loop do jogo, que é um loop infinito onde todos os eventos são processados ​​e o estado do jogo é atualizado e renderizado na tela. A função pygame.event.get() é usada para lidar com eventos como fechar a janela do jogo.

Criando a nave espacial do jogador

Em seguida, adicione a nave espacial do jogador ao jogo. Crie uma imagem para a nave espacial e coloque-a na parte inferior central da janela do jogo. Você pode usar qualquer imagem PNG simples para a nave espacial. Carregue esta imagem em seu jogo e controle seu movimento com entradas de teclado.

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

A função do jogador é responsável por desenhar a nave nas coordenadas (nave_espacial_x, nave_nave_y). O movimento da nave espacial é controlado pelas setas esquerda e direita. Ajustar a variável spaceship_x move a nave horizontalmente.

Adicionando inimigos

Para adicionar inimigos ao jogo, crie várias instâncias de uma imagem inimiga. Posicione-os aleatoriamente na tela e faça-os se mover em direção ao jogador. Crie uma lista para armazenar a posição e a velocidade de cada inimigo para facilitar o gerenciamento.

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

Cada inimigo se move horizontalmente até atingir a borda da tela, momento em que ele se move ligeiramente para baixo e inverte a direção.

Conclusão

Este tutorial abordou a configuração de seu ambiente Python, inicializando uma janela Pygame, criando e controlando a nave espacial de um jogador e adicionando inimigos com movimento básico. Essa base prepara o terreno para melhorias adicionais, como adição de recursos de tiro, detecção de colisão, pontuação e muito mais. Cada elemento introduz novos desafios e oportunidades de aprendizagem, exigindo potencialmente otimizações e refinamentos para melhorar o desempenho do jogo e a experiência do jogador.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/bernardkibathi/blast-from-the-past-build-your-own-space-invaders-game-with-python-a-step-by-step-tutorial- 2ik2? 1Se houver alguma violação, entre em contato com [email protected] para excluí-la.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3