例題とサンプルコード: 数当てゲーム

例題とサンプルコード: 数当てゲーム

1-100までの数字を当てるゲームです。

import random

def number_guessing_game():
    number_to_guess = random.randint(1, 100)
    attempts = 0

    print("1から100までの数字を当ててください!")

    while True:
        try:
            guess = int(input("あなたの予想: "))
            attempts += 1

            if guess < number_to_guess: print("もっと大きい数字です。") elif guess > number_to_guess:
                print("もっと小さい数字です。")
            else:
                print(f"正解です!{attempts}回目の予想で当たりました。")
                break

        except ValueError:
            print("無効な入力です。1から100までの数字を入力してください。")

if __name__ == "__main__":
    number_guessing_game()

問題

次のコードでは、ユーザーが入力できる数字の範囲を1から1000に変更し、プレイヤーに残りの試行回数を表示するようにしてください。プレイヤーには最初に10回の試行が与えられ、それを超えるとゲームオーバーと表示されるようにします。

答え

import random

def number_guessing_game():
    number_to_guess = random.randint(1, 1000)
    attempts = 0
    max_attempts = 10

    print("1から1000までの数字を当ててください!")

    while attempts < max_attempts:
        try:
            guess = int(input(f"あなたの予想 (残り{max_attempts - attempts}回): "))
            attempts += 1

            if guess < number_to_guess: print("もっと大きい数字です。") elif guess > number_to_guess:
                print("もっと小さい数字です。")
            else:
                print(f"正解です!{attempts}回目の予想で当たりました。")
                break

        except ValueError:
            print("無効な入力です。1から1000までの数字を入力してください。")

    if attempts == max_attempts and guess != number_to_guess:
        print(f"ゲームオーバー!正解は {number_to_guess} でした。")

if __name__ == "__main__":
    number_guessing_game()

解説

このコードでは、ユーザーが予想する数字の範囲を1から1000に拡大し、プレイヤーに与えられる試行回数を10回に制限しました。各試行ごとに、残りの試行回数が表示され、10回目の試行でも正解が出なければ「ゲームオーバー」として正解の数字が表示されます。これにより、ゲームの難易度が上がり、より緊張感のあるプレイが楽しめるようになります。

関連記事

コメント

この記事へのコメントはありません。