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'] <= 0 or e['x'] >= 736: e['speed_x'] *= -1 e['y'] += e['speed_y'] pygame.display.update()
各敵は画面の端に当たるまで水平に移動し、その時点で少し下に移動して方向を反転します。
このチュートリアルでは、Python 環境のセットアップ、Pygame ウィンドウの初期化、プレイヤーの宇宙船の作成と制御、基本的なモーションによる敵の追加について説明しました。この基盤は、射撃機能の追加、衝突検出、スコアリングなどのさらなる機能強化のための準備を整えます。各要素は新たな課題と学習の機会をもたらし、ゲームのパフォーマンスとプレイヤー エクスペリエンスを向上させるために最適化と改良が必要になる可能性があります。
以上が過去からの爆破: Python を使用して独自のスペース インベーダー ゲームを構築する - ステップバイステップのチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。