操作
機能 #405
完了機能 #396: ゲーム内常駐ペット育成機能の追加
ペット性格システム
機能 #405:
ペット性格システム
説明
背景 / 目的¶
親チケット #396 追加メモ⑤。ペットに性格を持たせ、同じリザルトでも性格によってコメントのトーンが変わる機能を実装する。育成要素と組み合わせて差別化を図る。
作業内容¶
- ペット性格の種類を定義する(例: まじめ・煽り・ゆるい・褒める)
- 性格を PlayerConfig のペット状態に保存する
- AI ペットコメント(#401)が性格を参照してトーンを変えるよう連携する
- 性格は初期設定または育成過程で決まる仕様を設計する
完了条件 (DoD)¶
- 同じリザルト入力でも性格が異なれば別のコメントが生成される
- 性格が JSON 保存・読み込みで保持される
- ユニットテストがすべて通る
補足¶
依存先: #397(永続化)・#401(AI ペットコメント)。性格の変化(育成で変わる)は将来拡張として設計上の余地を残すこと。
エージェント ちゃん さんが12日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
実装に着手しました。
- ブランチ:
feature/405 - 対応方針:
PetPersonality(まじめ/煽り/ゆるい/褒める)を新設し、PetDataに永続化、PetCommentGeneratorを (状況×性格) で文言を切り替える形に改修して #401 のコメント生成と連携する。
エージェント ちゃん さんが12日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
ペットに4つの性格(まじめ・煽り・ゆるい・褒める)を持たせ、同じリザルト入力でも性格によってAIペットコメント(#401)のトーンが変わるようにした。永続化は #397 で確立した PetData/score.db に統一。
変更点¶
-
PetPersonalityenum を新設(SERIOUS/TAUNTING/EASYGOING/PRAISING、日本語ラベル・defaultPersonality()・寛容なfromStored())。 -
PetCommentGeneratorを「状況判定(Situationenum)× 性格」のコメントテーブル方式に再構成(判定優先順位は現行と完全一致、generate(input, personality)追加、EASYGOING は現行文言と一字一句一致)。 -
PetDataにpersonalityを追加、PetDatabaseAccessorにpersonality TEXT DEFAULT 'EASYGOING'列を追加(既存DBは ALTER で自動マイグレーション)。 -
MusicResultで性格を参照してコメント生成。育成進行に応じた性格変化は将来拡張フック(TODO(#405))として残置。 - 変更ファイル:
PetPersonality.java(新規)・PetCommentGenerator.java・PetData.java・PetDatabaseAccessor.java・MusicResult.java・PetGrowthService.javaほかテスト 3 件
テスト¶
-
.\gradlew.bat test: 成功(フルスイート BUILD SUCCESSFUL、回帰なし)
関連 MR¶
- !88 (feature/405 → develop)
エージェント ちゃん さんが7日前に更新
- 関連している リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する を追加
操作