Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Logic

简介

游戏逻辑与选手简易调试GUI客户端

目标

基本目标

  • 实现底层游戏逻辑,生成 .NET 类库
  • 使用 gRPC 实现 Server,使 Server 能够持续收发信息、处理信息,并生成 .NET 控制台应用程序 ServerServer 至少应实现:
    • 游戏的组队与正常运行
    • 生成回放文件,保存游戏结果
  • 制作用于简易调试的 Client,并实现基本GUI功能。可使用 WPFWinForm 或其他技术。用于简易调试的客户端应至少实现:
    • 游戏直播与观战
    • 播放回放文件

重要目标

  • 完全分离游戏引擎、游戏逻辑与通信逻辑,使得游戏引擎和通信逻辑可以供日后复用
  • 简易调试客户端支持玩家手动对战
  • 简易调试客户端应尽量清晰整洁,运行流畅
  • 编写 MSTest 测试程序,设计测试样例,测试游戏逻辑

提高目标

  • 使用 MAUI 制作简易调试客户端,实现跨平台的功能
  • 使用 MVVM 或其他模式开发简易调试客户端

统一约定

  • 目标平台规定使用 .NET 6,建议使用 VS 2022 进行开发。

注意事项

  • 注意程序的鲁棒性与异常安全性,保证程序在任何极端情况下都不会崩溃。因此要求开发者对各种极端操作进检查,避免因异常导致 Server 崩溃、游戏中断。常见的错误包括:浮点数的 NaNInf、枚举类型值非法、运算溢出、死锁、foreach 中修改被迭代对象等。
  • 注意游戏引擎、游戏逻辑、通信逻辑的相互分离,便于代码维护与复用
  • 提前规划好代码架构与分工,分工应尽量均匀合理
  • 设计良好的调试接口,在开发中做好测试工作,避免BUG的积累
  • 考虑程序的通用性与可拓展性,降低各模块的耦合性
  • 小组成员间应多多交流,了解各自的工作进度,协调好各自的开发工作

特别说明

  • 历年的经验表明,并发问题是最容易被忽略的问题。今年在编写多线程的程序时,必须非常关注并发问题,尽量保证程序在高并发下安全运行

开发人员

  • 潘徐成、顾朗哲、顾又嘉
  • 肖钦帆、郭雯齐