ミニゲーム: カウンターパッド
概要
カウンターパッドは、複数のカウンターを1画面で管理し、ボタンや直接入力で数値を増減できるユーティリティです。 追加・編集・削除といった操作は即座にローカル保存されるため、タブを閉じたりゲームを離れても状態が復元されます。 画面上部にはカウンター数、合計値、セッション中に得たEXPの集計チップが表示され、作業の全体像を把握しやすくなっています。
画面構成
- ヘッダー
- タイトルと「複数のカウントを素早く管理。増減操作は自動保存されます。」というサブタイトルが表示されます。
- サマリーバー
- 「カウンター件数」「合計値」「セッションEXP」の3つのチップで進捗を確認できます。
- 追加フォーム
- 名称・初期値・ステップ値を指定して新しいカウンターを作成します。各フィールドにはローカライズ済みのプレースホルダーが入ります。
- カウンター一覧
- 登録済みカウンターがカード形式で並びます。空の場合はガイダンスメッセージが表示されます。
カウンターの追加
- カウンターは最大32件まで作成できます。それ以上作ろうとすると警告が表示されます。
- 名称欄は必須で、空白のみの場合は「新しいカウンター」テンプレートか「カウンター{番号}」が補われます。
- 初期値は-1,000,000,000〜1,000,000,000の範囲に丸められ、未入力時は0になります。
- ステップ値は絶対値が1〜1,000,000の範囲で正の整数に補正され、未入力時は1が利用されます。
- カウンターを追加すると入力欄はクリアされ、次の入力に備えて名称欄へフォーカスが戻ります。
- 作成時には5EXPが授与され、セッション集計に反映されます。
カウンターカードの操作
各カードには以下の操作が用意されています。
- 名称の変更: テキストボックスに直接入力し、フォーカスを離すと保存されます。32文字を上限にトリムされます。
- 削除: 削除ボタンを押すと確認ダイアログのあとでカードが一覧から取り除かれます。
- 値の確認と直接入力: 大きな表示と数値入力欄が並び、数値を直接指定して保存できます。
- 増減ボタン: 「±ステップ」「±ステップ×5」の4ボタンがあり、クリックするたびに値が調整されます。
- ステップ値の変更: フッターの入力欄で正の整数を設定すると増減ボタンの単位も自動で更新されます。
- リセット: リセットボタンで値を即座に0へ戻せます。
いずれの操作でも結果は自動保存され、カードの一覧とサマリーが再描画されます。
EXPとセッション情報
- カウンター作成時に5EXPが加算されます。
- 値を増減すると、直前の変化から600ms以上経過している場合に差分値(最大10EXP)が授与されます。
- 獲得EXPはセッション内で合計され、サマリーバーの「セッションEXP」に表示されます。
- セッションのスコアは
getScore()
からも参照でき、他システム連携用に利用可能です。
保存と復元の仕様
- 状態は操作のたびに250msディレイを挟んで
localStorage
のmini_counter_state_v1
キーに保存されます。 - 保存対象にはID・名称・値・ステップ値が含まれ、再読み込み時に自動で復元されます。
- 名称・値・ステップ値はいずれも保存前にサニタイズされ、異常値が検出された場合でも安全な既定値に丸められます。
- ローカライズ設定を持つ環境では、言語切り替えに追従してラベルやフォーマットが更新されます。
制限事項とヒント
- 名称は前後の空白が除去され、32文字を超える部分は切り詰められます。
- 値は常に整数として扱われ、範囲外に設定すると自動で上限・下限に揃えられます。
- ステップ値を大きくすると増減ボタンの変化量も大きくなるため、大幅な調整の際に活用してください。
- カウンターを多く登録する場合は、まとめたいカテゴリや目的ごとに名称テンプレートを活用すると識別しやすくなります。