清一色(チンイツ)の一向聴(イーシャンテン)における何切る問題を練習するWebアプリケーションです。
麻雀の清一色一向聴の局面で、最適な打牌を選択する練習ができます。牌をクリックして直感的に回答でき、間違えた問題は復習機能で繰り返し学習できます。
- 1,000問の清一色一向聴問題からランダムに出題
- 牌画像をクリックして回答
- 難易度別(easy, medium, hard)の問題
- 待ち牌の表示
- 間違えた問題だけを抽出して再挑戦
- 最新の回答結果に基づいた復習リスト
- 全問正解するまで繰り返し練習可能
- 総解答数の表示
- 正解数・不正解数の集計
- 正解率の表示
- 学習進捗の可視化
- Ruby: 3.3.x
- Rails: 8.0.3
- Database: SQLite3
- Frontend: Hotwire (Turbo + Stimulus) + Tailwind CSS
- Authentication: Devise
# リポジトリのクローン
git clone <repository-url>
cd hc2025_osatoh
# 依存関係のインストール
bundle install
# データベースのセットアップ
bin/rails db:create
bin/rails db:migrate
# 問題データのインポート
bin/rails problems:import
# サーバーの起動
bin/devブラウザで http://localhost:3000 にアクセスしてください。
-
ユーザー登録
- 初回アクセス時にアカウントを作成
-
問題を解く
- ホーム画面から「問題を解く」を選択
- 表示された牌の中から切る牌をクリック
- 即座に正解・不正解が判定される
-
復習する
- ホーム画面から「復習する」を選択
- 過去に間違えた問題を再挑戦
-
ダッシュボード
- ホーム画面から「ダッシュボード」を選択
- 学習状況を確認
問題は db/problems.csv に格納されています。形式は以下の通り:
tiles,correct_answer,waiting_tiles,difficulty
1112345678999m,3m,147m,medium- tiles: 手牌(麻雀牌の表記形式)
- correct_answer: 正解の打牌
- waiting_tiles: テンパイ時の待ち牌
- difficulty: 難易度 (easy/medium/hard)
# 全テストの実行
bin/rails test
# システムテストの実行
bin/rails test:systemこのプロジェクトはMITライセンスの下で公開されています。
本プロジェクトで使用している画像は、https://mj-king.net/sozai/(サイト名:麻雀素材 [麻雀王国])の素材を利用させていただいています。