blog.dopana

Back

ゲームデザイナーのみなさん、おかえりなさい! 🎲

ゲームの展開が最初から全部わかっていたら、きっとつまらないですよね。コインを投げたら毎回表しか出ないとか、敵キャラクターがいつも全く同じルートしか歩かないゲームを想像してみてね。ゲームには 「ドキドキする意外性(ランダム)」 が必要です!

今日は、Pythonロボットの頭の中に魔法の「見えないサイコロ」を用意して、ランダムな選択をさせる方法を学びましょう。

そのために、random モジュールを使います!

魔法のサイコロ(ランダムの仕組み)#

図形を描くために turtle ライブラリを借りたのと同じように、コードにランダムさを加えるために import random と入力します。

graph TD
    Start([ゲーム開始]) --> Choice["選択肢: ['グー', 'チョキ', 'パー']"]
    Choice --> Random["random.choice() が魔法のサイコロを振る"]
    Random --> Result{"何が出たかな?"}
    Result -->|パターン 1| Rock["✊ グー!"]
    Result -->|パターン 2| Paper["✋ パー!"]
    Result -->|パターン 3| Scissors["✌️ チョキ!"]

random ライブラリの中にある、よく使う2つの魔法を紹介するね:

1. Choice(チョイス):リストからランダムに1つ選ぶ#

選択肢のリストから、ロボットにランダムで1つを選び出させることができます:

import random

options = ["グー", "チョキ", "パー"]
robot_choice = random.choice(options)

print("ロボットの手は: " + robot_choice)
python

このコードを実行するたびに、ロボットは違う手を出してくるかもしれないよ! ✊ ✋ ✌️

2. Randint(ランドイント):指定した範囲から数字を選ぶ#

一般的な6面ダイス(サイコロ)を振るように、1から6までのランダムな整数(数字)を取り出します:

import random

dice_roll = random.randint(1, 6)
print("サイコロの目は: " + str(dice_roll) + "! 🎲")
python

自分でやってみよう! 🎮#

Pythonの画面を開いて、占いロボットを作ってみよう:

import random

fortunes = [
    "今日はきらきら光るコインを拾うでしょう! 🪙",
    "水たまりに入らないように気をつけてね! 🌧️",
    "かわいい犬がしっぽを振って近づいてくるよ! 🐶",
    "新しいプログラミングの裏技を覚えるよ! 💻"
]

input("ロボットに Yes/No の質問をして、Enterキーを押してね... ")
print("占い結果: " + random.choice(fortunes))
python

このプログラムを何回か実行して、占いの言葉が変わるか試してみてね!

次回は、電話番号やアイテムのステータスを素早く調べるためのロボットの秘密のメモ帳、「辞書(Dictionaries)」について学ぶよ。お楽しみに!

参照#