【Python入門】スマホゲームのガチャシステムを作成しよう

IT関連

はじめに

スマホゲームでよく見かける”ガチャ”システムをPythonで実装してみましょう。この記事では、Pythonの基本的な知識を活かして、ランダムでキャラクターを排出するプログラムを作成します。

この記事でわかること

Pythonを使って”ガチャ”システムの作成

1. ガチャシステムの仕様

今回作成するガチャシステムの仕様は以下の通りです。

●実行のたびに、ランダムでキャラを出力する。

●キャラクターは10種類存在する。

●キャラクターのレアリティと排出率は以下の通り。

  • UltraRare (UR) :1%
  • SuperRare (SR) :9%
  • Rare (R) :30%
  • Normal (N) :60%

2. Pythonでガチャを実装する

2.1 必要なモジュールをインポート

まず、ランダムな値を生成するためにrandomモジュールを使用します。

import random

2.2 キャラクターのリストを作成

キャラクターの名前をリストで管理し、対応するレアリティも定義します。

characters = [
    {"name": "キャラA", "rarity": "UltraRare"},
    {"name": "キャラB", "rarity": "SuperRare"},
    {"name": "キャラC", "rarity": "Rare"},
    {"name": "キャラD", "rarity": "Rare"},
    {"name": "キャラE", "rarity": "Rare"},
    {"name": "キャラF", "rarity": "Normal"},
    {"name": "キャラG", "rarity": "Normal"},
    {"name": "キャラH", "rarity": "Normal"},
    {"name": "キャラI", "rarity": "Normal"},
    {"name": "キャラJ", "rarity": "Normal"}
]

2.3 レアリティごとの排出率を設定

確率に基づいてキャラクターを選ぶために、レアリティごとの排出率を辞書で管理します。

rarity_probabilities = {
    "UltraRare": 0.01,
    "SuperRare": 0.09,
    "Rare": 0.30,
    "Normal": 0.60
}

2.4 ガチャの実装

以下の手順でガチャを実装します。

  1. ランダムな数値を生成し、排出レアリティを決定。
  2. 該当するレアリティのキャラクターの中からランダムに1体を選択
def draw_gacha():
    rand = random.random()  # 0.0 以上 1.0 未満のランダムな値を生成
    
    if rand < rarity_probabilities["UltraRare"]:
        rarity = "UltraRare"
    elif rand < rarity_probabilities["UltraRare"] + rarity_probabilities["SuperRare"]:
        rarity = "SuperRare"
    elif rand < rarity_probabilities["UltraRare"] + rarity_probabilities["SuperRare"] + rarity_probabilities["Rare"]:
        rarity = "Rare"
    else:
        rarity = "Normal"
    
    candidates = [char for char in characters if char["rarity"] == rarity]
    chosen_character = random.choice(candidates)
    
    return f"{chosen_character['name']} ({chosen_character['rarity']}) が出ました!"

2.5 ガチャを回してみる

ここまで作成できれば、ほぼ完成です!
最後に、関数を呼び出してガチャを回してみましょう。

for _ in range(10):  # 10回ガチャを引く
    print(draw_gacha())

3. まとめ

この記事では、Pythonを使って基本的なガチャシステムを作成しました。ランダムな値を生成し、確率に基づいてキャラクターを排出する仕組みを学びました。

このプログラムを拡張して、10連ガチャを作成したり、プレイヤーの所持キャラを管理したりすることもできます。ぜひ、カスタマイズしてみてください!

4. 余談

爆死しました。

その後、UR2枚抜きもしました。

コメント

PAGE TOP
タイトルとURLをコピーしました