宠物模块已经完成了基础框架的搭建,包括:
目前模块处于初始阶段,核心业务逻辑尚未实现,包括服务层、逻辑层、验证器等。
完成宠物模块的核心功能实现,包括:
注:宠物战斗系统和争霸赛系统暂不开发
[x] PetCreateValidator:宠物创建验证
[x] PetLevelUpValidator:宠物升级验证
[x] PetFeedValidator:宠物喂养验证
[x] PetRemouldValidator:宠物洗髓验证
[x] PetSkillUseValidator:宠物技能使用验证
[x] PetStatusChangeValidator:宠物状态变更验证
[x] PetFoodValidator:宠物口粮验证
[x] 对内监听器:监听其他模块的事件
[x] 对外事件:提供给其他模块监听的事件
宠物技能系统:完善宠物技能功能
与农场模块集成:实现宠物技能对农场的影响
与物品模块集成:完善物品使用效果
| 功能模块 | 状态 | 开始日期 | 完成日期 | 备注 |
|---|---|---|---|---|
| 数据库设计 | 已完成 | - | - | 包括10个数据表 |
| 模型定义 | 已完成 | - | - | 包括10个模型类 |
| 枚举定义 | 已完成 | - | - | PetGrade、PetStatus |
| 事件定义 | 已完成 | - | - | 5个事件类 |
| 监听器 | 已完成 | - | - | 已实现5个监听器 |
| 后台控制器 | 已完成 | - | - | 10个控制器 |
| 仓库类 | 已完成 | - | - | 10个仓库类 |
| 服务层 | 已完成 | - | - | 已实现PetService |
| 逻辑层 | 已完成 | - | - | 已实现PetLogic |
| 验证器 | 已完成 | - | - | 已实现7个验证器 |
| 技能系统 | 部分完成 | - | - | 已实现基础功能 |
| 与其他模块集成 | 部分完成 | - | - | 已实现物品变更监听 |
完善宠物技能系统
加强与农场模块的集成
完善与物品模块的集成
优化宠物状态管理
| 日期 | 计划任务 | 负责人 |
|---|---|---|
| 第1天 | 实现PetService基础方法 | - |
| 第2天 | 实现PetLogic基础逻辑 | - |
| 第3天 | 实现PetValidator验证器 | - |
| 第4天 | 实现PetFoodValidator验证器 | - |
| 第5天 | 完善事件监听器 | - |
| 日期 | 计划任务 | 负责人 |
|---|---|---|
| 第1天 | 实现PetSkillLogic基础逻辑 | - |
| 第2天 | 实现技能解锁机制 | - |
| 第3天 | 实现技能冷却管理 | - |
| 第4天 | 实现技能效果 | - |
| 第5天 | 与农场模块集成 | - |
| 日期 | 计划任务 | 负责人 |
|---|---|---|
| 第1天 | 实现PetBattleLogic基础逻辑 | - |
| 第2天 | 实现战力计算 | - |
| 第3天 | 实现战斗结果计算 | - |
| 第4天 | 实现战斗奖励发放 | - |
| 第5天 | 完善战斗记录 | - |
| 日期 | 计划任务 | 负责人 |
|---|---|---|
| 第1天 | 实现赛季管理 | - |
| 第2天 | 实现队伍管理 | - |
| 第3天 | 实现Boss战斗机制 | - |
| 第4天 | 实现奖励分配 | - |
| 第5天 | 系统测试与优化 | - |
// PetService.php
class PetService
{
// 获取用户宠物列表
public static function getUserPets(int $userId): array;
// 创建宠物
public static function createPet(int $userId, string $name): array;
// 宠物升级
public static function levelUpPet(int $userId, int $petId): array;
// 宠物喂养
public static function feedPet(int $userId, int $petId, int $itemId, int $amount = 1): array;
// 宠物洗髓
public static function remouldPet(int $userId, int $petId, int $itemId = 0): array;
// 使用宠物技能
public static function useSkill(int $userId, int $petId, int $skillId, array $params = []): array;
// 获取宠物状态
public static function getPetStatus(int $userId, int $petId): array;
// 更新宠物状态
public static function updatePetStatus(int $userId, int $petId, int $status, string $reason = ''): bool;
}
// PetBattleService.php
class PetBattleService
{
// 获取战斗记录
public static function getBattleLogs(int $userId, int $petId, int $page = 1, int $pageSize = 20): array;
// 发起战斗
public static function startBattle(int $userId, int $petId, int $battleType, int $targetId = 0): array;
// 获取战斗结果
public static function getBattleResult(int $battleId): array;
// 获取当前赛季信息
public static function getCurrentSeason(): array;
// 创建/加入队伍
public static function joinTeam(int $userId, int $petId, int $teamId = 0, string $teamName = ''): array;
// 退出队伍
public static function leaveTeam(int $userId, int $petId): bool;
// 获取队伍信息
public static function getTeamInfo(int $teamId): array;
}
// PetLogic.php
class PetLogic
{
// 创建宠物
public static function createPet(int $userId, string $name): array;
// 宠物升级
public static function levelUpPet(int $petId): array;
// 计算宠物经验
public static function calculateExp(int $petId, int $expGain): array;
// 恢复宠物体力
public static function recoverStamina(int $petId, int $minutes): int;
// 变更宠物状态
public static function changeStatus(int $petId, int $status, string $reason = ''): bool;
}
// PetSkillLogic.php
class PetSkillLogic
{
// 检查技能是否解锁
public static function checkSkillUnlocked(int $petId, int $skillId): bool;
// 管理技能冷却
public static function manageSkillCooldown(int $petId, int $skillId): array;
// 执行技能效果
public static function executeSkillEffect(int $petId, int $skillId, array $params = []): array;
}
{
"id": 1,
"user_id": 1001,
"name": "小松狮",
"grade": "THIRD",
"level": 15,
"experience": 2500,
"stamina": 85,
"status": 1,
"created_at": "2023-05-01 10:00:00",
"updated_at": "2023-05-05 15:30:00"
}
{
"id": 1,
"skill_name": "自动收菜",
"stamina_cost": 50,
"cool_down": 7200,
"effect_desc": "自动收获成熟作物",
"min_level": 5,
"created_at": "2023-05-01 10:00:00",
"updated_at": "2023-05-01 10:00:00"
}
{
"id": 1,
"pet_id": 1,
"battle_type": 1,
"opponent_id": 2,
"result": 1,
"reward": {
"exp": 100,
"items": [
{"id": 1001, "amount": 2},
{"id": 1002, "amount": 1}
]
},
"battle_time": "2023-05-05 14:30:00",
"created_at": "2023-05-05 14:30:00"
}