0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初学者がChatGPTとPythonでインベーダーゲームを作りたい①

Posted at

今回の目標

1.昔のゲームセンターにあるようなレトロなインベーダーゲームを作成する!!
2.Web上でいつでも遊べるようにする

環境

Python 3.12.x ←多分現時点(2024/07/24)で最新のもの
ChatGPT4.0

1番の目標達成のために早速準備!

Pythonでは、pygameというビデオゲーム製作のために設計されたモジュールがあるので、とりあえずpipを使ってインストール

pip install pygame

pygameが正常にインストールがされたのを確認できたので、引き続きPythonでのコードを作成していく

Pythonでとりあえず書いてみた

import pygame
import random

# 初期化
pygame.init()

# 画面サイズ
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("インベーダーゲーム")

# 色の定義
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
RED = (255, 0, 0)

# プレイヤーの設定
player_size = 50
player_x = screen_width // 2
player_y = screen_height - 60

# インベーダーの設定
invader_size = 40
invader_speed = 2
invaders = []

for x in range(0, screen_width, invader_size + 10):
    for y in range(0, 200, invader_size + 10):
        invaders.append(pygame.Rect(x, y, invader_size, invader_size))

# ゲームループ
running = True
clock = pygame.time.Clock()
while running:
    screen.fill(BLACK)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # インベーダーの動き
    for invader in invaders:
        pygame.draw.rect(screen, RED, invader)
        invader.y += invader_speed
        if invader.y > screen_height:
            invaders.remove(invader)
            invaders.append(pygame.Rect(random.randint(0, screen_width - invader_size), 0, invader_size, invader_size))

    # 画面更新
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

ChatGPTに添削をしてもらいながら書いてみたが、赤色の四角が縦に流れるだけの動画が完成してしまった...

次回は、もう少しゲームになるように頑張ろ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?