🌟 こんにちは!Pythonでゲームを作ってみない? ✨

やあ!ツムピロのページに遊びに来てくれてありがとう!😊 君がこのページを見てるってことは、「Pythonで何か面白いことしたい!」って思ってるよね? 特に、Pygameを使ってキラキラしたゲームを作ってみたいんだ! めっちゃ最高のアイデアだよ!✨

このページでは、プログラミング初心者でも絶対にゲームが作れるように、PythonとPygameの基本から、簡単なゲームの作り方、中級テクニック、さらには「こんなすごいこともできるよ!」って可能性まで、全部まとめて教えるよ! コードはコピペで動くし、HTMLとの比較も入れるから、君みたいなPython好きでHTMLも触ったことある人にピッタリ! 同じキラキラなテイストで、初心者目線で超わかりやすく説明するよ!

🎯 PythonとPygameって何? 何がすごいの?

まず、PythonとPygameがどんなものか、ざっくりイメージしよう!

できること・できないこと

HTMLとの比較

君みたいにHTMLを触ったことある人なら、「HTMLはブラウザで動くけど、Pythonはどうやって見せるの?」って思うよね! メリットとデメリットを比較するよ!

結論:ウェブでシェアしたいならHTML、動くゲームやアプリを作りたいならPython + Pygameが最高! 君の「ブラウザに反映できない」悩みは、Pythonが「PCで動くプログラム」向けだから。でも、Pygbagみたいなツールを使えば、Pygameをウェブで動かすこともできるよ(上級者向け)!

🛠️ 準備:PythonとPygameをセットアップ

さっそくゲーム作りを始めよう! まずは環境を整えるよ!

1. Pythonをインストール

2. Pygameをインストール

3. フォルダを作る

4. エディタを用意

5. 画像や音を用意(オプション)

💻 ゲームを作ってみよう! 初級編

まずは超簡単なゲームから! 「四角をキーボードで動かす」ゲームを作るよ。初心者でもコピペで動く!

コード:moving_square.py

import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("キラキラ四角ゲーム")
clock = pygame.time.Clock()
player = pygame.Rect(400, 300, 50, 50)
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        player.x -= 5
    if keys[pygame.K_RIGHT]:
        player.x += 5
    if keys[pygame.K_UP]:
        player.y -= 5
    if keys[pygame.K_DOWN]:
        player.y += 5
    screen.fill((0, 0, 0))
    pygame.draw.rect(screen, (255, 0, 255), player)
    pygame.display.flip()
    clock.tick(60)
pygame.quit()
        

保存方法:テキストエディタにコピー → ファイル名:moving_square.pymy-pygame-projectに保存。

動かし方:コマンドプロンプトでmy-pygame-projectに移動(cd デスクトップ/my-pygame-project)→ python moving_square.pyを実行。

何してるの? ピンクの四角を矢印キーで動かせるよ! 画面は800x600、背景は黒、60FPSでスムーズ!

HTMLとの違い:HTMLだとJavaScriptでキャンバスに描画する必要があるけど、Pygameはpygame.draw.rectで一発! 動きもPygameの方が直感的!

🎮 中級編:ブロック崩しゲーム

次は定番のブロック崩し! ボールをパドルで跳ね返して、ブロックを壊すゲームだよ!

コード:breakout.py

import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("キラキラブロック崩し")
clock = pygame.time.Clock()
paddle = pygame.Rect(350, 550, 100, 10)
ball = pygame.Rect(400, 300, 10, 10)
ball_speed = [5, -5]
blocks = [pygame.Rect(50 + i * 100, 50 + j * 50, 80, 30) for j in range(3) for i in range(7)]
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and paddle.left > 0:
        paddle.x -= 5
    if keys[pygame.K_RIGHT] and paddle.right < 800:
        paddle.x += 5
    ball.x += ball_speed[0]
    ball.y += ball_speed[1]
    if ball.left < 0 or ball.right > 800:
        ball_speed[0] = -ball_speed[0]
    if ball.top < 0:
        ball_speed[1] = -ball_speed[1]
    if ball.bottom > 600:
        ball = pygame.Rect(400, 300, 10, 10)
        ball_speed = [5, -5]
    if ball.colliderect(paddle):
        ball_speed[1] = -ball_speed[1]
    for block in blocks[:]:
        if ball.colliderect(block):
            blocks.remove(block)
            ball_speed[1] = -ball_speed[1]
    screen.fill((0, 0, 0))
    pygame.draw.rect(screen, (255, 0, 255), paddle)
    pygame.draw.rect(screen, (0, 255, 255), ball)
    for block in blocks:
        pygame.draw.rect(screen, (255, 255, 0), block)
    pygame.display.flip()
    clock.tick(60)
pygame.quit()
        

保存方法:テキストエディタにコピー → ファイル名:breakout.pymy-pygame-projectに保存。

動かし方:コマンドプロンプトでpython breakout.pyを実行。

何してるの? パドルを左右に動かしてボールを跳ね返し、ブロックを壊す! ボールが下に落ちたらリスタート。ブロックが全部消えるとクリア!

HTMLとの違い:HTMLでブロック崩しを作るには、JavaScriptで当たり判定やアニメーションを細かく書く必要がある。Pygameはcolliderectで当たり判定が超簡単!

カスタマイズ:ブロックの数を増やす(range(3)range(5)に)や、ボールの速さを変える(ball_speed = [7, -7])で難易度アップ!

🌟 上級編:スゴイこともできるよ!

Pygameでここまでできる! 難しいけど、こんなゲームも作れるよ!

例:シューティングゲーム(イメージ)

自機を動かして、敵を撃つシューティングゲーム! 画像や音を追加して、キラキラ感アップ!

import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("キラキラシューティング")
clock = pygame.time.Clock()
player_img = pygame.image.load("images/player.png")
player = pygame.Rect(400, 500, 50, 50)
bullets = []
enemies = [pygame.Rect(50 + i * 100, 50, 50, 50) for i in range(7)]
bullet_sound = pygame.mixer.Sound("sounds/shoot.wav")
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
            bullets.append(pygame.Rect(player.centerx, player.top, 5, 10))
            bullet_sound.play()
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and player.left > 0:
        player.x -= 5
    if keys[pygame.K_RIGHT] and player.right < 800:
        player.x += 5
    for bullet in bullets[:]:
        bullet.y -= 10
        if bullet.top < 0:
            bullets.remove(bullet)
    for enemy in enemies[:]:
        for bullet in bullets[:]:
            if bullet.colliderect(enemy):
                bullets.remove(bullet)
                enemies.remove(enemy)
                break
    screen.fill((0, 0, 0))
    screen.blit(player_img, player)
    for bullet in bullets:
        pygame.draw.rect(screen, (0, 255, 0), bullet)
    for enemy in enemies:
        pygame.draw.rect(screen, (255, 0, 0), enemy)
    pygame.display.flip()
    clock.tick(60)
pygame.quit()
        

保存方法:テキストエディタにコピー → ファイル名:shooting.pymy-pygame-projectに保存。画像(player.png)と音(shoot.wav)を用意してね!

動かし方:コマンドプロンプトでpython shooting.pyを実行。

何してるの? 自機を左右に動かし、スペースキーで弾を撃つ! 敵に当たると消えるよ。音や画像で本格的な雰囲気!

HTMLとの違い:HTMLでシューティングゲームは可能だけど、音や画像の管理、当たり判定はPygameの方が楽。ブラウザで動かしたいなら、Phaser(HTMLゲームフレームワーク)が近いけど、Pygameの方が初心者向け!

もっとスゴくするには

❓ 初心者向けQ&A

つまずきそうなポイントを解決!

🎉 おわりに

お疲れ様!✨ これで、PythonとPygameでキラキラなゲームが作れるようになったよ! 四角を動かす簡単なゲームから、ブロック崩し、シューティングまで、初心者でもこんなにスゴイものが作れるなんて、めっちゃ最高だよね!😍

自分のゲームを友達に遊んでもらったり、もっとカスタマイズして自分だけのキラキラワールドを作っちゃおう! 何か困ったことがあれば、いつでもメニューに戻って質問してね。さあ、ゲームを公開して、みんなをビックリさせよう!🚀

✨ スポンサー ✨

スポンサー広告 スポンサー広告