これまでif文やwhile文、input関数やrandomモジュールについて学習してきましたが、今回はこれらをすべて組み合わせて、実際に遊べる「数当てゲーム」を作ってみましょう。

数当てゲームのルール

今回作るゲームのルールはとてもシンプルです。

  1. コンピュータが「1から100までのランダムな数字」を1つ決める。
  2. プレイヤーが数字を予想して入力する。
  3. コンピュータは「もっと大きいです」や「もっと小さいです」とヒントを出す。
  4. 正解するまでゲームが続く。

ゲーム作りに必要な4つの要素(復習)

このゲームを作るために、これまで学習した4つの重要な機能を使います。簡単に復習しておきましょう。

・randomモジュール: コンピュータにランダムな正解の数字を決めさせるために使います。
・while文: プレイヤーが正解するまで、何度も予想を入力させるために使います。
・input()関数: プレイヤーに予想した数字を入力させるために使います。(受け取った文字はint()で数値に変換します)
・if文: プレイヤーの予想が正解か、大きいか、小さいかを判定するために使います。

ゲームのコードを書く

では、実際にやってみましょう。
Google Colaboratoryを開いて新しいノートブックを作成し、

import random

# 1から100までのランダムな正解の数字を決める
answer = random.randint(1, 100)
print("1から100までの数字を当ててください!")

# 正解するまで無限に繰り返す
while True:
  # プレイヤーに予想を入力してもらう
  guess_str = input("予想した数字を入力してください: ")

  # 入力された文字列を数値(整数)に変換する
  guess = int(guess_str)

  # 予想と正解を比較する
  if guess == answer:
    print("正解です!おめでとうございます!")
    break # 正解したらwhile文の繰り返しから抜け出す
  elif guess < answer:
    print("もっと大きいです。")
  else:
    print("もっと小さいです。")

とセルに入力して実行してみましょう。すると結果は

1から100までの数字を当ててください!
予想した数字を入力してください: 50
もっと大きいです。
予想した数字を入力してください: 75
もっと小さいです。
予想した数字を入力してください: 63
もっと大きいです。
予想した数字を入力してください: 69
もっと小さいです。
予想した数字を入力してください: 66
正解です!おめでとうございます!

のように表示されます(正解の数字はランダムです)。

プログラムの解説

  • 準備(1~5行目): import randomで乱数を使う準備をし、random.randint(1, 100) を使って1から100までのランダムな数字を作り、変数answerに代入しています。ゲームの途中で正解が変わってしまっては困るので、ここはwhile文による繰り返しの外側(上)に書きます。
  • 繰り返しの開始(7~8行目): while True: を使って正解するまで終わらない無限ループを作っています。ここからがプレイヤーとのやり取りになります。
  • 入力を受け取る(10~13行目): input()関数を使ってユーザーに数字を入力させ、int()を使って入力された文字を数値に変換し、変数guess に代入しています。
  • 判定と終了(15~22行目): if文で判定を行っています。もし予想(guess)が正解(answer)と同じなら「正解です!おめでとうございます!」と表示し、break でwhile文のループを抜け出してゲームを終了させています。もし予想が正解より小さければ「もっと大きいです。」と表示し、予想が正解より大きければそれ以外の条件として「もっと小さいです。」と表示して、再びwhile文の先頭に戻って次の入力を待ちます。

このように、今まで別々に学習してきた機能を組み合わせることで、本格的なプログラムを作ることができます。ぜひ遊んでみてください。

まとめ

今回は、これまで学習した機能を使って「数当てゲーム」を作成しました。

  • random: ランダムな数字を用意する。
  • while: 正解するまで入力を繰り返す無限ループを作る。
  • input/int: プレイヤーからの入力を受け取り、数値に変換する。
  • if/elif/else: 予想と正解を比較して、ヒントを出したりゲームを終了させたりする。

それぞれの機能がどのように連携して一つのプログラムとして動くのか、イメージを掴んでいただけたかと思います。ぜひ数字の範囲を変えたり、メッセージを変えたりして、アレンジしてみてください。

open-in-colab

今回はこれで終了です。今回のサンプルを用意したので、もし必要な場合は上の「Open in Colab」と書いてあるボタンをクリックしてください。なおそのままだと編集不可なので編集をしたい場合は「ドライブにコピー」をクリックしてコピーしてください。
なおGoogle ColaboratoryについてわからなかったらGoogleColaboratoryを使ってみよう_導入編をご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA