「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 過去からの爆破: Python を使用して独自のスペース インベーダー ゲームを構築する - ステップバイステップのチュートリアル

過去からの爆破: Python を使用して独自のスペース インベーダー ゲームを構築する - ステップバイステップのチュートリアル

2024 年 11 月 9 日に公開
ブラウズ:917

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

開発環境のセットアップ

Python を使用してスペース インベーダーのコーディングに入る前に、開発環境が正しく設定されていることを確認してください。マシンに Python がインストールされている必要があります。ライブラリとの互換性を高めるために、Python 3.8 以降を推奨します。さらに、ビデオ ゲームを作成するために設計された Python モジュールのセットである Pygame をインストールします。 Pygame は、ウィンドウの作成、マウス イベントのキャプチャ、グラフィック要素のレンダリングなど、ゲーム開発に不可欠な機能を提供します。

次のコマンドを使用して Python と Pygame をインストールします:

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

# Install Pygame
pip install pygame

ゲームウィンドウの初期化

まず、space_invaders.py という名前の Python ファイルを作成します。このファイルには、ゲームに必要なコードがすべて含まれています。まず、Pygameを使用してゲームウィンドウを初期化します。ウィンドウ サイズは 800x600 ピクセルに設定できます。これは、すべてのゲーム要素を快適に収めるのに十分な大きさです。

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

このコードは Pygame を初期化し、800x600 ピクセルのウィンドウを設定します。 while True: ループはゲーム ループであり、すべてのイベントが処理され、ゲームの状態が更新されて画面にレンダリングされる無限ループです。 pygame.event.get() 関数は、ゲーム ウィンドウを閉じるなどのイベントを処理するために使用されます。

プレイヤーの宇宙船を作成する

次に、プレイヤーの宇宙船をゲームに追加します。宇宙船の画像を作成し、ゲーム ウィンドウの下部中央に配置します。宇宙船には任意のシンプルな PNG 画像を使用できます。この画像をゲームにロードし、キーボード入力でその動きを制御します。

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

プレーヤー関数は、座標 (spaceship_x、spaceship_y) に宇宙船を描画する役割を果たします。宇宙船の動きは左右の矢印キーで制御します。 spaceship_x 変数を調整すると、宇宙船が水平に移動します。

敵の追加

ゲームに敵を追加するには、敵の画像のインスタンスを複数作成します。それらを画面上にランダムに配置し、プレイヤーに向かって移動させます。管理を容易にするために、各敵の位置と速度を保存するリストを作成します。

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

各敵は画面の端に当たるまで水平に移動し、その時点で少し下に移動して方向を反転します。

結論

このチュートリアルでは、Python 環境のセットアップ、Pygame ウィンドウの初期化、プレイヤーの宇宙船の作成と制御、基本的なモーションによる敵の追加について説明しました。この基盤は、射撃機能の追加、衝突検出、スコアリングなどのさらなる機能強化のための準備を整えます。各要素は新たな課題と学習の機会をもたらし、ゲームのパフォーマンスとプレイヤー エクスペリエンスを向上させるために最適化と改良が必要になる可能性があります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/bernardkibathi/blast-from-the-past-build-your-own-space-invaders-game-with-python-a-step-by-step-tutorial- 2ik2? 1侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3