デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第93回 Lv4 ⏱ 20〜25分

アイテムをリストで持たせよう

🎯 きょうのミッション

プレイヤーがアイテムを持てるようにします。リストで管理し、敵を倒すと append で追加、使うと remove で削除。

🧠 できるようになること

  • リストで持ち物を管理できる
  • ゲーム中にアイテムが増減するしくみが書ける
  • リストの操作をRPGの文脈で使える

🧰 用意するもの

🖼 できあがり

戦闘前に持ち物が表示され、戦闘後にアイテムを獲得した報告が出ます。

📺 実行結果
持ち物:['ポーション', 'ポーション']
⚔ スライムと戦闘!
🎉 スライムを倒した!
📦 ポーション を手に入れた!
持ち物:['ポーション', 'ポーション', 'ポーション']

🚀 やりかた

  1. items = ["ポーション", "ポーション"] で初期持ち物。
  2. 戦闘前に持ち物表示。
  3. 戦闘(簡略化)。
  4. 勝利時に items.append("ポーション")
  5. 戦闘後にも持ち物表示。

🐍 きょうのコード

Python main.py
items = ["ポーション", "ポーション"]

print(f"持ち物:{items}")
print("⚔ スライムと戦闘!")
print("🎉 スライムを倒した!")

drop = "ポーション"
items.append(drop)
print(f"📦 {drop} を手に入れた!")
print(f"持ち物:{items}")
▶ Trinketを開いて動かす

上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。

💡 きょうのポイント

リストはRPGのアイテム管理にぴったり。append で増やし、removepop で減らす。len(items) で個数を確認できます。

🎮 チャレンジ

  • 倒した敵によってドロップが変わる仕組み(random.choice
  • 持ち物が10個を超えたらこれ以上拾えないようにする
  • print(f"アイテム数:{len(items)}/10") で表示

🔁 ふりかえり

  • リストでアイテム管理する利点は?
  • 辞書(dict)でアイテム数も管理する方法もある(中級)
  • 次回はアイテムを使う側を作る

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

  • 準備:なし。
  • つまずきポイント:なし。
  • 声かけ例:「持ち物システム」を自作できる感動を共有して。