游戏逻辑与选手简易调试GUI客户端
- 实现底层游戏逻辑,生成 .NET 类库
- 使用
gRPC实现Server,使Server能够持续收发信息、处理信息,并生成 .NET 控制台应用程序Server。Server至少应实现:- 游戏的组队与正常运行
- 生成回放文件,保存游戏结果
- 制作用于简易调试的
Client,并实现基本GUI功能。可使用WPF、WinForm或其他技术。用于简易调试的客户端应至少实现:- 游戏直播与观战
- 播放回放文件
- 完全分离游戏引擎、游戏逻辑与通信逻辑,使得游戏引擎和通信逻辑可以供日后复用
- 简易调试客户端支持玩家手动对战
- 简易调试客户端应尽量清晰整洁,运行流畅
- 编写
MSTest测试程序,设计测试样例,测试游戏逻辑
- 使用
MAUI制作简易调试客户端,实现跨平台的功能 - 使用
MVVM或其他模式开发简易调试客户端
- 目标平台规定使用 .NET 6,建议使用 VS 2022 进行开发。
- 注意程序的鲁棒性与异常安全性,保证程序在任何极端情况下都不会崩溃。因此要求开发者对各种极端操作进检查,避免因异常导致
Server崩溃、游戏中断。常见的错误包括:浮点数的NaN与Inf、枚举类型值非法、运算溢出、死锁、foreach中修改被迭代对象等。 - 注意游戏引擎、游戏逻辑、通信逻辑的相互分离,便于代码维护与复用
- 提前规划好代码架构与分工,分工应尽量均匀合理
- 设计良好的调试接口,在开发中做好测试工作,避免BUG的积累
- 考虑程序的通用性与可拓展性,降低各模块的耦合性
- 小组成员间应多多交流,了解各自的工作进度,协调好各自的开发工作
- 历年的经验表明,并发问题是最容易被忽略的问题。今年在编写多线程的程序时,必须非常关注并发问题,尽量保证程序在高并发下安全运行
- 潘徐成、顾朗哲、顾又嘉
- 肖钦帆、郭雯齐