デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第85回 Lv3 ⏱ 30〜45分

ミニ作品:自分のturtleゲーム

🎯 きょうのミッション

Lv3のしめくくり。Lv3で学んだすべて(描画・キー操作・当たり判定・スコア)を使って、自分だけのturtleゲームを作ります。サンプルは「アイテム集めゲーム」。これを土台に自由に改造を。

🧠 できるようになること

  • Lv3の全要素を統合した作品を作れる
  • 自分のオリジナルアイデアをコードにできる
  • Lv3クリアの達成感を得る

🧰 用意するもの

  • パソコン
  • ブラウザ(Chrome / Edge / Safari)
  • インターネット接続
  • このページの「▶ このページで実行」ボタン(絵もゲームもそのまま動きます)
  • Trinket(予備の実行サイト:https://trinket.io/python)

🖼 できあがり

プレイヤーを動かして、ランダムに出るアイテム(金色のコイン)を集めるゲーム。スコアあり。

📺 実行結果
(アイテム集めゲームのプレイ画面)

🚀 やりかた

  1. プレイヤー+アイテム+スコア表示の3つの亀を用意。
  2. 矢印キーでプレイヤー操作。
  3. アイテムに触れたら +1 して、ランダムな位置に再配置。
  4. 20点取ったらクリア表示。

🐍 きょうのコード

Python main.py
import turtle
import random

screen = turtle.Screen()
screen.bgcolor("black")
screen.setup(600, 600)
screen.tracer(0)

player = turtle.Turtle()
player.shape("turtle")
player.color("cyan")
player.penup()

item = turtle.Turtle()
item.shape("circle")
item.color("gold")
item.penup()
item.goto(random.randint(-250, 250), random.randint(-200, 200))

scorer = turtle.Turtle()
scorer.hideturtle()
scorer.color("white")
scorer.penup()
scorer.goto(-280, 250)

score = 0

def go_up(): player.sety(min(275, player.ycor() + 20))
def go_down(): player.sety(max(-275, player.ycor() - 20))
def go_left(): player.setx(max(-275, player.xcor() - 20))
def go_right(): player.setx(min(275, player.xcor() + 20))

screen.onkey(go_up, "Up")
screen.onkey(go_down, "Down")
screen.onkey(go_left, "Left")
screen.onkey(go_right, "Right")
screen.listen()

def game_loop():
    global score
    if player.distance(item) < 20:
        score += 1
        item.goto(random.randint(-250, 250), random.randint(-200, 200))
        scorer.clear()
        scorer.write(f"スコア:{score}", font=("Arial", 18, "bold"))
        if score >= 20:
            scorer.goto(0, 0)
            scorer.write("🎉 クリア!", align="center", font=("Arial", 30, "bold"))
            screen.update()
            return
    screen.update()
    screen.ontimer(game_loop, 20)

game_loop()
▶ Trinketを開いて動かす

このページの「▶ このページで実行」でそのまま動きます。キー操作のゲームは、絵をクリックしてからキーを押してね。Trinketを使うときは、上のコードをコピーして貼り付けます。

💡 きょうのポイント

Lv3の旅もここまで。turtleでこれだけのゲームが作れます。さらに自分のアイデアを加えれば、世界に1つだけのゲーム。次のLv4はテキストRPG。

完成確認は「移動できる」「画面外へ出ない」「アイテムを取れる」「20点で終わる」の4項目に分けます。大きな作品も、小さなテストに分ければ直しやすくなります。

🎮 チャレンジ

  • アイテムを3個に増やしてとり放題にしよう
  • 敵を追加して避けながらアイテムを集める形に
  • 5点ごとに敵が増えるシステムにしよう

🔁 ふりかえり

  • Lv3で覚えたことの中で、一番役に立ったのは?
  • 自分のゲームを家族に遊ばせたら、どんな反応だった?
  • Lv4ではテキストRPG。turtleとは違う楽しさが待っています

👨‍👩‍👧 おうちの人・先生へ

  • 準備:最初はサンプルをそのまま動かし、次に1か所だけ改造します。キー操作が効かないときはキャンバスのクリックを確認します。
  • つまずきポイント:自由制作では一度に多く変えすぎると原因が追えません。プレイヤーの速さ、アイテムの位置、当たり判定、スコア表示のように、1項目ずつ試します。
  • 声かけ例:「完成品」より「どこを改造したか」を発表できるようにすると、作った実感が残ります。スクショや録画も有効です。
  • 発展:次のLv4ではテキストRPGに挑戦。turtleなしのテキストだけで、また違う楽しさがあります。