現在の見出し:3.1節:ゲーム実行機能の作成
見出し一覧
- 3.1節:ゲーム実行機能の作成
- - メインゲーム処理の実装
- - ゲーム進行改良の追加
【PR】『Python』を学べる企業・個人向けのプログラミングコース
メインゲーム処理の実装
前節(第2章 2.2節)で作成したコードを基盤として、第3章3.1節では「メインゲーム処理の実装」と「ゲーム進行の改良」を行っていきます。
前節までの実装では、1回のじゃんけんゲームの処理は完成していますが、プレイヤーが繰り返しゲームを楽しむためには連続実行機能が必要です。whilewhile文はプログラミングの制御構造の一つで、条件が真である間に指定された処理を繰り返し実行するループ構文です。文を使用した繰り返し処理を実装し、プレイヤーがゲームを継続するかどうかを選択できる機能を追加します。条件変数変数はデータを一時的に記憶しておく場所です。による継続判定とwhile文のループループは一連の命令を繰り返し実行する構造です。制御を組み合わせることで、実用的なゲームアプリケーションを構築します。
# コード
playing = True
while playing:
print("じゃんけんをしましょう!")
print("選択肢: グー、チョキ、パー")
player_choice = input("あなたの選択を入力してください: ")
if player_choice == "グー" or player_choice == "チョキ" or player_choice == "パー":
print(f"【プレイヤー】あなたが選んだのは: {player_choice}")
print("有効な選択です。")
computer_number = 1
if computer_number == 1:
computer_choice = "グー"
elif computer_number == 2:
computer_choice = "チョキ"
else:
computer_choice = "パー"
print(f"【コンピューター】コンピューターが選んだのは: {computer_choice}")
print(f"【対戦】{player_choice} vs {computer_choice}")
if player_choice == computer_choice:
result = "引き分け"
elif player_choice == "グー" and computer_choice == "チョキ":
result = "あなたの勝ち"
elif player_choice == "チョキ" and computer_choice == "パー":
result = "あなたの勝ち"
elif player_choice == "パー" and computer_choice == "グー":
result = "あなたの勝ち"
elif player_choice == "グー" and computer_choice == "パー":
result = "あなたの負け"
elif player_choice == "チョキ" and computer_choice == "グー":
result = "あなたの負け"
elif player_choice == "パー" and computer_choice == "チョキ":
result = "あなたの負け"
print(f"【最終結果】{result}")
if result == "あなたの勝ち":
print("おめでとうございます!")
elif result == "あなたの負け":
print("残念でした。次回頑張りましょう!")
else:
print("引き分けです。")
else:
print("無効な選択です。グー、チョキ、パーのいずれかを入力してください。")
continue_game = input("もう一度プレイしますか? (y/n): ")
if continue_game != "y":
playing = False
print("ゲームを終了します。ありがとうございました!")
# 実行結果
じゃんけんをしましょう!
選択肢: グー、チョキ、パー
あなたの選択を入力してください: グー
【プレイヤー】あなたが選んだのは: グー
有効な選択です。
【コンピューター】コンピューターが選んだのは: グー
【対戦】グー vs グー
【最終結果】引き分け
引き分けです。
もう一度プレイしますか? (y/n): y
じゃんけんをしましょう!
選択肢: グー、チョキ、パー
あなたの選択を入力してください: パー
【プレイヤー】あなたが選んだのは: パー
有効な選択です。
【コンピューター】コンピューターが選んだのは: グー
【対戦】パー vs グー
【最終結果】あなたの勝ち
おめでとうございます!
もう一度プレイしますか? (y/n): n
ゲームを終了します。ありがとうございました!
行数 | 種別 | コード | 解説 |
---|---|---|---|
1行目 | 新規 | playing = True |
ゲーム継続を制御するブール型変数の初期化処理 |
2行目 | 新規 | while playing: |
playing変数がTrueの間、ゲームループを繰り返すwhile文の開始 |
35行目 | 新規 | continue_game = input("もう一度プレイしますか? (y/n): ") |
プレイヤーにゲーム継続の意思を確認する入力受付処理 |
36行目 | 新規 | if continue_game != "y": |
継続入力が"y"以外の場合にゲーム終了処理を実行する条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。 |
37行目 | 新規 | playing = False |
ゲーム継続フラグをFalseに設定し、while文のループを終了する処理 |
38行目 | 新規 | print("ゲームを終了します。ありがとうございました!") |
ゲーム終了時の挨拶メッセージを表示する処理 |