ガチャプログラムを作ろう
ゲームでおなじみのガチャを作ります。レア・スーパーレア・ノーマルなど、出現確率に偏りをつけるのがポイント。リストに同じ要素を多く入れることで実現します。
🧠 できるようになること
- リスト+random で確率の偏りを作れる
- ガチャのしくみを理解する
- for で何度も引くシミュレーションができる
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- このページの「▶ このページで実行」ボタン(コードをそのまま動かせます)
- Trinket(予備の実行サイト:https://trinket.io/python)
🖼 できあがり
ガチャを10連で引くと、レアが何回・スーパーレアが何回出るかがわかります。確率の不公平さも体感。
📺 実行結果
🎰 10連ガチャ START 1回目:ノーマル 2回目:ノーマル 3回目:レア 4回目:ノーマル 5回目:ノーマル 6回目:ノーマル 7回目:スーパーレア 8回目:ノーマル 9回目:レア 10回目:ノーマル
🚀 やりかた
gacha = ["ノーマル"] * 7 + ["レア"] * 2 + ["スーパーレア"]で確率付きリスト。print("🎰 10連ガチャ START")。for i in range(1, 11):で10連。result = random.choice(gacha)で1回引く。print(f"{i}回目:{result}")で結果表示。
🐍 きょうのコード
Python
main.py
import random
gacha = ["ノーマル"] * 7 + ["レア"] * 2 + ["スーパーレア"]
print("🎰 10連ガチャ START")
for i in range(1, 11):
result = random.choice(gacha)
print(f"{i}回目:{result}")
このページの「▶ このページで実行」でそのまま動きます。Trinketを使うときは、上のコードをコピーして左のエリアに貼り付け、Runボタン(▶)を押します。
💡 きょうのポイント
["ノーマル"] * 7 は「ノーマル」を7回くりかえしたリストを作ります。これと + でレア・スーパーレアを混ぜれば、出現確率に偏りができます。確率は7:2:1。
🎮 チャレンジ
- 100連にして、レアとスーパーレアの出現回数を集計しよう
- ウルトラレア(1/100)も追加しよう
- 「天井」しくみ(10連でスーパーレア確定)を実装してみよう
🔁 ふりかえり
- 確率はランダムなので、10連で必ず1回スーパーレアが出るとは限らない。何回引くと安定する?
- ガチャゲームの確率表示は法律で公開が義務付けられている。なぜ?
- 確率の偏りを知っていると、お金の使い方も変わるかも?
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:リストを
*で増やす書き方は新しい。「["X"] * 5は X が5個並ぶリスト」と説明。 - 声かけ例:ガチャは社会問題でもある題材。「お金で確率を買うとは?」「期待値の考え方」を年齢に応じて話してみてください。