【Python】初心者もコピペで簡単!GUIで作る数当てゲーム|Tkinterでウィンドウアプリにチャレンジ!

※当サイトはアフィリエイトプログラムに参加しています。

【Python】初心者もコピペで簡単!GUIで作る数当てゲーム|Tkinterでウィンドウアプリにチャレンジ! Python

Pythonを使ってGUI(グラフィカルユーザーインターフェース)版の「数当てゲーム」を作る方法をご紹介します。

これまでのテキストベース(コンソール)とは違い、
ウィンドウ・ボタン・入力欄を使った、
「アプリっぽいゲーム」を体験できます。

「難しそう…」と感じるかもしれませんが、
Python標準ライブラリの Tkinter を使えば、初心者でも簡単に作れます。

ゲームを通して学べること(GUI版)
  • モジュールのインポート(random / tkinter)
  • 変数の使い方
  • 条件分岐(if / elif / else)
  • イベント処理(ボタンを押した時の動作)
  • GUIプログラミングの基本構造
  • ユーザー入力(Entryウィジェット)
  • 型変換(文字列 → 数値)

数当てゲーム(GUI)の仕様

  • コンピューターが 1〜100の数字をランダムに決定
  • プレイヤーは 入力欄に数字を入力
  • 「判定する」ボタンを押すと結果表示
  • 正解するとメッセージが表示されゲーム終了
スポンサーリンク

数当てゲーム(GUI)のコード全体

megu
megu

まずは全体をコピペして確認しながら遊んでみましょう

完成イメージ

数当てゲーム

右の▷を押すとウインドウが表示されます。

ウインドウ表示

完成したコード(GUI版)

まずは、完成したコードを見てみましょう。

import tkinter as tk
import random

# 正解の数字を作成
target = random.randint(1, 100)

def check_number():
    try:
        guess = int(entry.get())
        if guess == target:
            result_label.config(text="正解です!")
        elif guess < target:
            result_label.config(text="もっと大きい数です。")
        else:
            result_label.config(text="もっと小さい数です。")
    except ValueError:
        result_label.config(text="数字を入力してください。")

# ウィンドウ作成
root = tk.Tk()
root.title("数当てゲーム")
root.geometry("300x200")

# 説明ラベル
label = tk.Label(root, text="1から100までの数を当ててください")
label.pack(pady=10)

# 入力欄
entry = tk.Entry(root)
entry.pack()

# 判定ボタン
button = tk.Button(root, text="判定する", command=check_number)
button.pack(pady=10)

# 結果表示
result_label = tk.Label(root, text="")
result_label.pack()

# メインループ
root.mainloop()
スポンサーリンク

コードの詳細解説(GUI版)

1. ライブラリのインポート

import tkinter as tk
import random
  • tkinter:Python標準のGUIライブラリ
  • random:ランダムな数を作るために使用

2. 正解の数字を作

target = random.randint(1, 100)

コンピューターが当ててほしい数字をランダムに決めます。

3. 判定処理(ボタンを押した時)

def check_number():

この関数は、
「判定する」ボタンが押された時に実行されます。

guess = int(entry.get())
  • Entry(入力欄)から文字列を取得
  • int()で数値に変換

4. 正解・不正解の判定

if guess == target:
    result_label.config(text="正解です!")
elif guess < target:
    result_label.config(text="もっと大きい数です。")
else:
    result_label.config(text="もっと小さい数です。")

テキストベースと同じロジックですが、
printではなくラベル表示になっています。

5. エラー処理(数字以外の入力)

except ValueError:
    result_label.config(text="数字を入力してください。")

文字を入力しても、アプリが止まらないようにしています。

6. GUI画面の作成

root = tk.Tk()
root.title("数当てゲーム")
root.geometry("300x200")
  • ウィンドウ作成
  • タイトルとサイズ設定

7. ウィジェット配置

  • Label:説明文・結果表示
  • Entry:数字入力
  • Button:判定ボタン
label.pack()
entry.pack()
button.pack()
result_label.pack()

pack()は簡単に配置できる初心者向けレイアウトです。

スポンサーリンク

プログラムの動作の流れ(GUI版)

STEP1 アプリ起動
STEP2 数字を入力
STEP3 ボタンを押す
STEP4 判定結果を画面に表示
STEP5 正解するまで繰り返し

スポンサーリンク

まとめ

今回は、PythonでGUI版の数当てゲームを作りました。

  • コンソール → ウィンドウアプリへ進化
  • 初心者でも「アプリを作った!」という達成感
  • Python学習のモチベーションUP

小さなゲームでも、
動くのが見えるだけで楽しさは何倍にもなります。

ぜひ、色や文字を変えたり、
自分だけの数当てゲームに育ててみてください 。

※当サイトはアフィリエイトプログラムに参加しています。

Python
スポンサーリンク
meguをフォローする