要件定義 - Recursion-Group-C/card-game GitHub Wiki
このテンプレートをベースに要件定義を行う。
以下のトランプゲームでCPUと対戦ができること。ブラウザ上で動作するゲームの実装を最優先し、ログイン機能などを追加していくことを目標とする。
- Blackjack
- Rummy
- War
- Speed
- Poker
- Texas Hold'em Poker
設計を参照。
Webでアクセスしてきたユーザー
- Easy, Medium, Hardの3つの難易度で、敵のCPUと対戦できること。
- ルール、勝利条件、プレイヤー数が異なる以下のトランプゲームモードに対応すること。
- Blackjack(
2-7人-> CPUはPlayerに影響を与えないため、House vs Playerに変更する) - Rummy(2-4人)
- War(2人)
- Speed(2人)
- Poker(2-10人)
- Texas Hold'em Poker(2-10人)
- Blackjack(
- Blackjack, Poker, Texas Hold'em Poker
- 各プレイヤーがゲームに参加するために満たさなければならない最低入札要件がある。もしプレイヤーが最低入札額を満たすことができなければ、ゲームに負けることになる。
- Rummy, War, Speed
- 点数制のゲームで、最も高い点数を獲得した人が勝者となる。
- ユーザーの手が有効かどうかをチェックするバリデーションがあること。
- 各ゲームモードに、ユーザーがゲームのプレイ方法を学ぶことができる簡単なチュートリアルがあること。
- 各ゲームモードに、ユーザーがゲームのルールを理解するためのチートシートメニューがあること。
- ログインしなくてもプレーできること
- ログインしなくても直近のゲーム成績が確認できること
- ログインすると、通算のゲーム成績が確認できること
- ゲームのラウンド数の設定ができること(ゲームによって分けた方がいいかも)
- ログインすると、過去のゲームで得たお金を継続して使用できること
- ログインすると、全ユーザーの所持金ランキングが確認できること
- サウンドのON/OFFを切り替えられること
- Webアプリへのリンク、またはアプリの最新バージョンをダウンロードできるホームページを用意すること
- ホーム画面
- 各ゲーム画面
- 通算成績・ランキング画面
- サインイン・サインアップ画面
- パスワード再設定画面
- 退会画面
Adminユーザーだけが、登録ユーザーの情報を確認できる
本システムでは以下のデータが作成される。
- ユーザー情報
- Email Address
- Password
- ユーザー名
- ゲーム内の所持金
- ゲーム設定
- vs CPUの数
- サウンド設定
- 初めてのプレーかどうか(チュートリアルの表示の判断に使う)
- ゲーム成績
- プレー日
- 勝ち・負け、順位(実際にプレーしてみて考える)
- お金の変動(時系列グラフで表示したい)
- 所持金ランキング(時系列で表示したい)
- コードベースが、将来的にトランプゲームのモードを簡単に追加できるように拡張可能な状態になっていること。
- アプリは、ユーザーにとってシンプルでわかりやすく感じられ、混乱や遅延なく効果的に使い始めることができること。
- どのデバイスでも正しく表示されること。
- ソフトウェアのデザインとユーザーインターフェースが最新で視覚的に魅力的であること。
- ソフトウェアが、クロスプラットフォームであること。ウェブアプリ(ブラウザ)としてアクセスできるほか、デスクトップアプリ(Windows、Linux、Mac)、モバイルアプリ(iOS、Android)としてダウンロードすることができること。
- インストールするデバイスやオペレーティングシステムの種類にかかわらず、ソフトウェアのインストールプロセスがシンプルで効率的であること。これにより、ソフトウェアはすべてのプラットフォームで簡単かつ迅速にインストールできるようになる。
- ユーザーがソフトウェアをダウンロードできるページには、常に最新のバージョンがダウンロード可能でなければならないこと。
Sprint | 内容 |
---|---|
Sprint1 (~2023/03/18) | 要件確認、設計 |
Sprint2 (~2023/03/25) | チュートリアルの実施、ベースプロジェクトの作成 |
Sprint3 (~2023/04/01) | War, Speed, Blackjackの開発 |
Sprint4 (~2023/04/08) | War, Speed, Blackjackの開発を4/5で完了する 4/5~ Porker, Texas Hold'em Porker, Rummyの開発、リファクタリング |
Sprint5 (~2023/04/15) | Porker, Texas Hold'em Porker, Rummyの開発、既存ゲームのリファクタリング、デザイン修正、ホーム画面の追加、ログイン機能の追加(余裕があれば) |
Sprint6 (~2023/04/22) | リファクタリング、CPUの難易度調整、クロスプラットフォームへの対応、ランキング等のログインが必要な機能の追加 |