import random def player_attack(): print("攻撃!シュートする方向を選んでください:") print("1: 左\n2: 中央\n3: 右") try: choice = int(input("あなたの選択: ")) if choice not in [1, 2, 3]: raise ValueError except ValueError: print("無効な入力です。中央にします。") choice = 2 return choice def cpu_defend(): return random.randint(1, 3) def cpu_attack(): return random.randint(1, 3) def player_defend(): print("守備!相手のシュートを読む方向を選択してください:") print("1: 左\n2: 中央\n3: 右") try: choice = int(input("あなたの選択: ")) if choice not in [1, 2, 3]: raise ValueError except ValueError: print("無効な入力です。中央にします。") choice = 2 return choice def game(): player_score = 0 cpu_score = 0 print("== サッカー対決: 3ターンマッチ ==") for turn in range(1, 4): print(f"\n--- 第{turn}ターン ---") attack_dir = player_attack() defend_dir = cpu_defend() if attack_dir != defend_dir: print("ゴール!! 🎉") player_score += 1 else: print("セーブされた!") attack_dir = cpu_attack() defend_dir = player_defend() if attack_dir != defend_dir: print("CPUがゴール!! 😱") cpu_score += 1 else: print("ナイスセーブ!! 🎉") print(f"\n== 試合終了==\n あなた: {player_score}点\n CPU:{cpu_score}点") if player_score > cpu_score: print("勝利") elif player_score < cpu_score: print("敗北") else: print("引き分け") if __name__ == "__main__": game()
$ python3 football.py
== サッカー対決: 3ターンマッチ ==
— 第1ターン —
攻撃!シュートする方向を選んでください:
1: 左
2: 中央
3: 右
あなたの選択: 1
ゴール!! 🎉
守備!相手のシュートを読む方向を選択してください:
1: 左
2: 中央
3: 右
あなたの選択: 2
CPUがゴール!! 😱
— 第2ターン —
攻撃!シュートする方向を選んでください:
1: 左
2: 中央
3: 右
あなたの選択: 1
ゴール!! 🎉
守備!相手のシュートを読む方向を選択してください:
1: 左
2: 中央
3: 右
あなたの選択: 3
ナイスセーブ!! 🎉
— 第3ターン —
攻撃!シュートする方向を選んでください:
1: 左
2: 中央
3: 右
あなたの選択: 2
セーブされた!
守備!相手のシュートを読む方向を選択してください:
1: 左
2: 中央
3: 右
あなたの選択: 1
ナイスセーブ!! 🎉
== 試合終了==
あなた: 2点
CPU:1点
勝利