目录结构
2024/10/8约 472 字
- src - 代码文件夹
- main - 项目代码
- java - Java代码
- kotlin - Kotlin代码
- card - 卡牌相关代码
- gm - GM命令,见服务器代码仓库的README
- handler - 客户端发来的协议处理(协议层)
- network - 网络层代码(基于netty框架)
- phase - 各个阶段的逻辑
- skill - 角色技能
- Config.kt - 配置文件的解析
- Game.kt - 游戏的主要逻辑
- HumanPlayer.kt - 真人玩家
- Image.kt - 生成图像相关的代码
- MessageCardValue.kt - 情报分数计算逻辑(AI用)
- Player.kt - 玩家
- QQPusher.kt - 推送到QQ群相关代码
- Recorder.kt - 录像相关代码
- RobotPlayer.kt - 机器人玩家
- ScoreFactory.kt - 分数与段位系统
- Statistics.kt - 统计玩家的一些数据
- 其它文件 - 框架相关代码
- proto - 协议文件
- common.proto - 一些枚举定义、卡牌结构体定义等需要在其它文件都使用到的通用定义
- errorcode.proto - 目前只存放了一条协议
error_message_toc
- fengsheng.proto - 与角色技能无关的大部分游戏协议
- record.proto - 服务器存储录像使用protobuf进行序列化和反序列化(与客户端无关)
- role.proto - 角色技能协议
- resources - 资源文件
- test - 单元测试代码
- main - 项目代码
- 其它文件 - 工程相关文件
机器人的逻辑分为三种:
- 在空闲时点使用的卡牌和主动技能:写在对应卡牌或技能文件最下方的
ai
函数中。 - 卡牌和主动技能的后续效果、所有触发类技能:写在对应卡牌或技能文件下的名为
executeXXX
子类的resolve
方法中。 - 其它AI(例如是否接收情报、如何传递情报、是否救濒死等):写在
RobotPlayer.kt
中。