Guess-The-Number — シンプルな数当てゲーム(Python)
概要
このリポジトリは端末で遊べるシンプルな「数当てゲーム」を提供します。ゲーム開始時に難易度(Easy:12回、Medium:8回、Hard:5回)を選択し、1〜100の範囲でコンピュータが選んだ数字を推測します。プレイヤーが数字を入力するたびに「小さい/大きい/正解」の指示が与えられ、許容回数内に当てれば勝利となります。勝利時の試行回数はセッション中のベストスコアとして保持され、何度でも再挑戦できます。実装はPythonで簡潔に書かれており、学習用や遊びながら基礎的なプログラミング概念(ループ、条件分岐、入力検証、ランダム生成)を学べます。
リポジトリの統計情報
- スター数: 9
- フォーク数: 0
- ウォッチャー数: 9
- コミット数: 2
- ファイル数: 2
- メインの言語: Python
主な特徴
- ターミナルベースのシンプルな数当てゲーム(1〜100)
- 難易度に応じた試行回数(Easy/Medium/Hard)
- 各推測ごとに「低い/高い/正解」のヒントを表示
- セッション内でのベストスコア記録と再挑戦ループ
技術的なポイント
実装はPython標準機能を中心に非常にシンプルに組まれている想定です。乱数生成にはrandomモジュールが使われ、ゲームはwhileループで進行します。難易度は辞書や条件分岐で試行回数をマッピングし、ユーザー入力はinput()で受け取って整数変換(int())と例外処理(ValueError)による入力検証を行います。各入力後に比較演算子で「小さい/大きい/正解」を判定し、正解時や回数切れ時にループを抜けてリプレイの選択肢を提示する典型的なフローです。
設計面では機能が分かりやすく分割されていることが期待され、例えば「ゲームの初期化」「一回のラウンド処理」「入力検証」「スコア更新」の責務が関数単位に分かれていれば可読性と保守性が高くなります。現状はセッション中のみベストスコアをメモリ上で保持するため永続化はされません。拡張ポイントとして、JSONや簡易なテキストファイルによるスコア保存、カラー出力によるUX向上(coloramaなど)、コマンドライン引数対応(argparse)、単体テストの追加(pytest)や型アノテーションの導入が挙げられます。さらにGUI(Tkinter)やWeb化(Flask/Streamlit)へ発展させることで学習用途からちょっとした作品展示まで広げられます。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- main: file
まとめ
学習向けに適した、短時間で理解できるシンプルな数当てゲーム実装。
リポジトリ情報:
- 名前: Guess-The-Number
- 説明: A simple Python game where the computer picks a number between 1 and 100, and you try to guess it. Choose Easy, Medium, or Hard mode with limited attempts. After each guess, you get hints: too low, too high, or correct. Track your best score across rounds and play again as many times as you like.
- スター数: 9
- 言語: Python
- URL: https://github.com/dmytrs/Guess-The-Number
- オーナー: dmytrs
- アバター: https://avatars.githubusercontent.com/u/47993837?v=4