- Pythonの基本的な構文(print, input, if文など)を使って、簡単なゲームを作ること
- 初心者でも理解しやすいコードを書くこと
- 実行してすぐに楽しめるシンプルなじゃんけんゲームを完成させること
日本では現在、ITエンジニアの人材不足が深刻化しており、
それに伴いエンジニアの需要が急速に高まっています。
プログラミングスキルを身につけることで、以下のような多くのメリットが得られます。
✅ 転職市場での競争力が向上し、収入アップのチャンスが広がる
✅ 副業として活用でき、収入源を増やせる
✅ プログラマーに限らず、IT時代を生き抜く武器になる
もし少しでも興味があるなら、まずはプログラミングスクールの無料体験を試してみるのがおすすめです。
要件定義|Pythonでじゃんけんゲームを作る前にやるべきこと
プログラムを作り始める前に、**「どんなゲームにするのか」をしっかり決めておくことが大切です。これを要件定義(ようけんていぎ)**といいます。難しそうに聞こえるかもしれませんが、やることはとてもシンプルです。
ここでは、じゃんけんゲームがどんな動きをするのか、どんな機能が必要かを整理してみましょう。
ゲームに必要な機能(要件一覧)
- プレイヤーが「グー・チョキ・パー」の中から1つを選べるようにする
- コンピュータがランダムに手を選ぶ
- プレイヤーとコンピュータの手を比べて勝敗を判定する
- 勝ち・負け・あいこ(引き分け)を表示する
- ゲーム終了後に、もう一度遊ぶかどうかを選べる
ゲームの流れ(画面に表示される順番)
- 「じゃんけん…ポン!」と表示される
- プレイヤーが「グー」「チョキ」「パー」から選択(例:数字や文字で入力)
- コンピュータの手を表示
- 勝敗の結果を表示(例:「あなたの勝ち!」)
- 「もう一度遊びますか?」と聞く
- 「はい」で繰り返し、「いいえ」で終了
今回のポイント
- 初心者でも作成しやすくするため、難しいコードやライブラリは使いません
(できるだけ標準のPython機能だけ) - if文や乱数、ループ処理など、基本を自然に学べる構成にします
- 見た目よりも、「どうやって動いているか」を理解できることが目的です
基本設計|Pythonでじゃんけんゲームの「仕組」を考えよう
要件定義で「どんなじゃんけんゲームを作るのか」が決まりました。次は、それをどんな流れで動かすか、そしてどんなしくみで動かすかを考えるステップです。これを**基本設計(きほんせっけい)**といいます。
この章では、ゲームの全体の流れや画面表示のイメージ、入力と出力の設計を初心者でもわかりやすく解説します。
ゲームの全体の流れ
以下のような流れでゲームが進みます。

画面表示(出力)のイメージ
出力とは、Pythonがユーザーに見せるメッセージのことです。
▼ ゲーム開始時:
じゃんけんゲームへようこそ!
0: グー 1: チョキ 2: パー
あなたの手を数字で入力してください:
▼ 結果表示:
あなた:グー
コンピュータ:チョキ
あなたの勝ちです!
▼ 再プレイ確認:
もう一度遊びますか?(y/n):
入力と処理の設計
▼ 入力する情報(ユーザーが入力するもの):
- 「じゃんけんの手」:数字で入力(例:0=グー、1=チョキ、2=パー)
- 「もう一度遊ぶかどうか」:y または n
▼ Pythonで使う基本構文:
input()
:ユーザーから入力を受け取るprint()
:画面にメッセージを表示するif
/elif
/else
:勝敗の判定while
:ゲームを繰り返す処理random.randint()
:コンピュータの手をランダムに決める
※難しい文法は使いません。すべてPythonの基礎だけで実装できます!
詳細設計|Pythonでじゃんけんゲームのコードを書く前の準備
前の章では、じゃんけんゲームの全体の流れや構造(基本設計)を考えました。ここでは、実際のコードを書くために必要な「パーツごとの設計」を詳しく行っていきます。
このステップを「詳細設計」といいます。やることはとてもシンプルで、どのパーツで、どんな処理を行うかをひとつずつ整理するだけです。
ゲームを構成する5つのパーツ
じゃんけんゲームは、以下のような5つのパーツに分けて設計するとわかりやすくなります。
1. 定数の定義(手の名前を管理)
Pythonでは、0・1・2 の数字を「グー・チョキ・パー」として扱います。
これをリスト(一覧)で管理しておくと、あとから表示がしやすくなります。
hands = ["グー", "チョキ", "パー"]
- 0 → グー
- 1 → チョキ
- 2 → パー
2. プレイヤーの入力処理
ユーザーがじゃんけんの手を選ぶ処理です。
player_input = input("0: グー 1: チョキ 2: パー\nあなたの手を数字で入力してください:")
ここで気をつけるポイント:
- 入力は文字列なので、あとで
int()
に変換する必要があります - ユーザーが間違った数字を入れた場合のエラーチェックもあると親切です(今回はシンプルに進めます)
3. コンピュータの手を決める処理
Pythonの標準ライブラリである random
を使って、コンピュータの手をランダムに選びます。
import random
computer_hand = random.randint(0, 2)
random.randint(0, 2)
は、0〜2のどれかをランダムに返します- これを使えば、じゃんけんの手を自動的に決めることができます
4. 勝敗を判定する処理
Pythonの if
文を使って、勝ち・負け・あいこを判定します。ルールは以下のとおり:
- グー(0)はチョキ(1)に勝つ
- チョキ(1)はパー(2)に勝つ
- パー(2)はグー(0)に勝つ
if player_hand == computer_hand:
result = "あいこです"
elif (player_hand == 0 and computer_hand == 1) or \
(player_hand == 1 and computer_hand == 2) or \
(player_hand == 2 and computer_hand == 0):
result = "あなたの勝ちです!"
else:
result = "あなたの負けです..."
このようにして、3パターンの結果を表示できるようにします。
5. ゲームのループ処理(再プレイ機能)
1回だけじゃなく、何度でも遊べるようにするにはループ処理を使います。while
文が便利です。
while True:
# 入力 → 勝敗判定 → 結果表示 の処理をここに入れる
retry = input("もう一度遊びますか?(y/n):")
if retry != "y":
print("ゲームを終了します。ありがとうございました!")
break
実装時に使うPythonの基本構文まとめ
input()
:ユーザーからの入力print()
:結果を表示するint()
:文字列を数字に変換if
/elif
/else
:条件分岐while
:繰り返し処理import random
/random.randint()
:ランダムな値を作る
実装|Pythonでじゃんけんゲームを実際に作ってみよう!
ここまで設計してきた「Pythonで作るじゃんけんゲーム」のプログラムを、いよいよ実際にコードとして書いて動かす段階に入ります。
このセクションでは、コードを1ブロックずつ丁寧に解説しながら、完成まで導いていきます。
事前準備:必要なモジュールをインポート
import random
random
モジュールは、コンピュータの手をランダムに選ぶために使用します。
ステップごとの実装コードと解説
① 手の一覧を定義(グー・チョキ・パー)
hands = ["グー", "チョキ", "パー"]
- それぞれに「0」「1」「2」が対応しています。
- 表示や勝敗判定で使います。
② ゲームを繰り返すループを作成
while True:
while True:
を使うと、プレイヤーがやめるまでゲームを続けられます。
③ プレイヤーの手を入力
print("\nじゃんけんをしましょう!")
print("0: グー 1: チョキ 2: パー")
player_input = input("あなたの手を数字で入力してください:")
input()
でキーボード入力を受け取ります。- 入力されたデータは**文字列(str型)**なので、次のステップで数値に変換します。
④ 入力を数値に変換 & エラーチェック
if player_input not in ["0", "1", "2"]:
print("無効な入力です。0〜2の数字を入力してください。")
continue
player_hand = int(player_input)
- ユーザーが変な文字を入れたときは再入力を促します。
continue
で最初に戻ります。
⑤ コンピュータの手をランダムに決定
computer_hand = random.randint(0, 2)
random.randint(0, 2)
で 0~2 の整数をランダムに生成します。
⑥ 手と結果を表示
print(f"\nあなた:{hands[player_hand]}")
print(f"コンピュータ:{hands[computer_hand]}")
- プレイヤーとコンピュータの手を表示します。
f文字列
(フォーマット文字列)で簡潔に書けます。
⑦ 勝敗を判定
if player_hand == computer_hand:
print("あいこです")
elif (player_hand == 0 and computer_hand == 1) or \
(player_hand == 1 and computer_hand == 2) or \
(player_hand == 2 and computer_hand == 0):
print("あなたの勝ちです!")
else:
print("あなたの負けです…")
- 基本の if 文を使って、じゃんけんのルールに沿って勝敗を判定します。
⑧ もう一度遊ぶか確認
retry = input("\nもう一度遊びますか?(y/n):")
if retry.lower() != "y":
print("ゲームを終了します。ありがとうございました!")
break
retry.lower()
は「Y」「y」どちらでもOKにするため。- 「n」以外ならゲームが継続します。
完成コードまとめ
以下が、すべての処理をまとめた完成版コードです:
import random
hands = [“グー”, “チョキ”, “パー”]
while True:
print(“\nじゃんけんをしましょう!”)
print(“0: グー 1: チョキ 2: パー”)
player_input = input(“あなたの手を数字で入力してください:”)
if player_input not in ["0", "1", "2"]:
print("無効な入力です。0〜2の数字を入力してください。")
continue
player_hand = int(player_input)
computer_hand = random.randint(0, 2)
print(f"\nあなた:{hands[player_hand]}")
print(f"コンピュータ:{hands[computer_hand]}")
if player_hand == computer_hand:
print("あいこです")
elif (player_hand == 0 and computer_hand == 1) or \
(player_hand == 1 and computer_hand == 2) or \
(player_hand == 2 and computer_hand == 0):
print("あなたの勝ちです!")
else:
print("あなたの負けです…")
retry = input("\nもう一度遊びますか?(y/n):")
if retry.lower() != "y":
print("ゲームを終了します。ありがとうございました!")
break
✅ まとめ
- Pythonの基本構文だけで、実用的なゲームを作ることができました。
input()
、print()
、if
、while
、random
など、初心者が覚えるべき構文が自然に身につきます。- このような小さなプログラムを積み重ねることが、プログラミング上達の近道です!
コメント