0
0

この記事の目的は、"Guess the Number Game"、プログラムがランダムに数字を選び、プレイヤーがランダムに数字を当てるゲームをどのようにPythonで生成するか紹介するのが主旨だ。

まずは、初期設定をする。

Screenshot 2024-06-12 at 14.43.42.png

まずは、randomモジュールからrandint関数を使い、
指定された範囲内のランダムな整数を生成することができる。
次に、artというモジュールから、clear関数をimportする。

ランダムに数字を選ぶのは、ユーザーにとって至難の技であるため、
今回私は、レベルを5つ設けた。

Supereasyレベル: ユーザーが50回数字を失敗するまで、ゲームオーバーにならない。
Easyレベル: ユーザーが20回数字を失敗するまで、ゲームオーバーにならない。
Mediumレベル: ユーザが10回数字を失敗するまで、ゲームオーバーにならない。
Hardレベル: ユーザーが7回数字を失敗するまで、ゲームオーバーにならない。
Superhardレベル: ユーザーが5回数字を失敗するまで、ゲームオーバーにならない。

ユーザーの推測と実際の数値を比較し、その結果を出力する

Screenshot 2024-06-12 at 14.53.09.png

まず、"check answer"という関数を定義。この関数は、guess(ユーザーが推測した値), answer(プログラムが実際に生成した答え)を比較する。
そして、guessが、answerよりも高い場合は、"Too High"とprint
また、 guessがanswerよりも低い場合は、"Too Low"とprint
ユーザが、実際の数値を的中した場合、"You got it! The answer was 実際の数値"とprint

5つのレベルの中から、ユーザーにレベルを選択させる

Screenshot 2024-06-12 at 14.57.34.png
Screenshot 2024-06-12 at 14.59.30.png

まず、"set_difficulity"という関数を定義。そして、ユーザーに5つのレベルを選択させる。
そして、"game" という関数を定義させ、logoをprintする。

ユーザーに1から1000の数字を選択させる

Screenshot 2024-06-12 at 15.01.03.png

まず、プログラムは、"Welcome to the Number Guessing Game", "I'm thinking of a number between 1000"と表示される。その後、プログラムが、ランダムに1から1000の範囲内の数値を選び、ユーザーはその数値を自分が選んだ5つのレベルの中から残されたライフの中で、的中しないといけない。

Screenshot 2024-06-12 at 15.04.52.png

1. まず、ユーザーの推測を格納するための変数"guess"を0に初期化する。

guess = 0

2. "guess"が"answer"と異なる限り、以下のプロックを繰り返します。

while guess != answer:

3. ユーザーに残りの試行回数を表示

turns = check_answer(guess, answer, turns)

4. ユーザーに数値を入力させ、その入力を整数に変換して"guess"に格納

guess = int(input("Make a guess:"))

5. 試行回数の追跡と減少

turns = check_answer(guess, answer, turns)
check_answer関数を呼び出して、ユーザーの推測をチェックし、残りの試行回数を更新します。この関数は、ユーザーの推測が正しいかどうかを判断し、間違っていれば試行回数を1減らします。

6. 試行回数が0になった場合の処理

if turns == 0:
print("You've run out of guesses, you lose.")
print(f"The correct number is {answer}")
return
試行回数が0になった場合、ユーザーにゲームオーバーを知らせ、正しい答えを表示して関数を終了。

7. 再度推測を促す

elif guess != answer:
print("Guess again.")
ユーザーの推測が正しくない場合、再度推測を促すメッセージを表示

8. ゲーム開始

game()
game関数が定義され、それを呼び出してゲームを開始することができる。

これだけではわからないと思うので、実際にSuperhard Levelを遊んでいるところを添付しておく。
Screenshot 2024-06-12 at 15.17.33.png

まず、私は以下の写真のように、275と予測した。しかし、パソコンが、"Too high"と回答した。これで、私の残りのライフ数が、5から4へと減った。
Screenshot 2024-06-12 at 15.18.55.png

173 と予測したが、またもや”Too High"と回答した。これで、私の残りのライフ数が、4から3へと減った。
Screenshot 2024-06-12 at 15.19.11.png

77と予測したが、ここでは"Too Low"と回答した。これで、私の残りのライフ数が、3から2へと減った。137と予測したが、ここでは”Too High"と回答した。これで、私の残りのライフ数が、2から1へと減った。106とも予測したが、正解(The correct number) が126であったため、私は、ゲームオーバーになってしまった。
Screenshot 2024-06-12 at 15.23.10.png

引用元:
https://github.com/dericsadrs/100-Days-of-Code-Complete-Python-Pro-BootCamp/tree/master/Day%2012

皆さんも時間がある時に、このプログラムコードを参考にして、Guess the Number Game を遊んでみたらいかがでしょうか。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0