Newer
Older
PixelPaintWar / docs / 04_SPEC / SPEC_02_ロビー仕様.txt
========================================================================
ロビー仕様 (Lobby Specification)
========================================================================


1. タイトル画面 (Title Screen)
------------------------------------------------------------------------

1-1. 画面構成
    ・背景: タイトル画像(title.png)を全画面表示する
    ・初期状態: 「- TAP TO START -」が点滅表示される
    ・タップ後: 入力フォームがフェードインで表示される

1-2. 入力項目
    ・プレイヤー名: テキスト入力(必須)
    ・ルームID: テキスト入力(必須)

1-3. 入室操作
    ・「GAME START」ボタンを押すとサーバーへ入室リクエストを送信する
    ・送信中はボタンが「接続中...」表示になり,非活性化される
    ・両方の入力が空でない場合のみボタンが活性化される

1-4. 入室拒否
    サーバーから拒否された場合,エラーメッセージを表示する.
    ・満員(full): ルームの最大人数に達している
    ・重複(duplicate): 同じ接続IDで既に入室済み
    ・ゲーム中(playing): ルームが既にゲーム中である


2. ロビー画面 (Lobby Screen)
------------------------------------------------------------------------

2-1. 画面レイアウト
    ・左上: 「タイトルへ戻る」ボタン
    ・上部中央: ルームIDと「(待機中)」ステータス表示
    ・左半分: ゲーム操作パネル(スタートボタン or 待機メッセージ)
    ・右半分: 参加プレイヤーリスト

2-2. ホスト(オーナー)向け表示

    ■ ゲーム設定(歯車ボタンからモーダルで開く)
    ・目標人数: 4人刻みで選択(最小: 現在の参加人数を4の倍数に切り上げ,最大: 100)
        - 不足分はBotが補充される
    ・フィールドサイズ: プリセットから選択
        - SMALL: 推奨 4〜20人
        - MEDIUM: 推奨 20〜40人(既定値)
        - LARGE: 推奨 40〜70人
        - XLARGE: 推奨 70〜100人
    ・チーム割り当て方式: ランダム / プレイヤーが選択

    ■ 操作ボタン
    ・「ゲームスタート」ボタン: 押すと確認モーダルが表示される
    ・「ルールを見る」ボタン: ゲームルール説明モーダルが開く

2-3. メンバー(非オーナー)向け表示
    ・「ホストの開始を待っています...」メッセージ
    ・ホストが設定したゲーム人数・フィールドサイズ・チーム割り当て方式の表示
    ・「ルールを見る」ボタン

2-4. チーム選択
    ・チーム割り当て方式が「プレイヤーが選択」の場合に有効になる
    ・選択肢: ランダム / 赤チーム / 青チーム / 緑チーム / 黄チーム
    ・満員のチームを選択した場合,「このチームは満員です」メッセージが3秒間表示される
    ・「ランダム」の場合は自動モードと同様にサーバーが割り当てる

2-5. プレイヤーリスト
    ・表示内容: プレイヤー名,オーナーマーク(王冠),自分マーク(緑丸)
    ・チーム選択モード時: 選択チーム名をチームカラーで表示する
    ・ソート順: 入った順(既定) / チーム順 / 名前順
        - チーム順はチーム選択モード時のみ選択可能
    ・ヘッダー: 「参加プレイヤー (現在人数/最大人数)」

2-6. ゲーム開始確認モーダル
    ・ホストが「ゲームスタート」を押すと表示される
    ・確認ボタンとキャンセルボタンがある
    ・確認を押すとサーバーにゲーム開始リクエストを送信する

2-7. 設定のリアルタイム同期
    ・ホストが設定を変更すると,サーバー経由で全メンバーに即時反映される
    ・メンバー側では設定項目は閲覧のみ(変更不可)