はじめに
スマホゲームでよく見かける”ガチャ”システムを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体を選択。
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枚抜きもしました。

コメント