Skip to content

待实现功能的详细需求

gusabary edited this page Dec 3, 2020 · 3 revisions

寻求帮助!

改善关于网络连接的玩家体验

优先级:高

目前因为对 Asio 网络库的使用不熟练,很多地方功能的实现都有很大的瑕疵,一定程度上影响了玩家的体验。例如,

  • 玩家在连接游戏服务的时候如果房间已满,不会收到任何文本提示,玩家目前只能通过“一段时间内没有连上”这一现象来判断是否房间已满。
  • 如果一个玩家连接成功,然后又断开连接,服务端仍会认为该玩家还处在连接着的状态,当有新玩家加入后也会开始对局,直到需要和那位已经断开连接的玩家通信后,才会发现问题,并且目前解决的方式是服务端直接崩溃,然后用户端也会跟着崩溃。
  • 如果在对局过程中,某个玩家断开了连接,那么服务端也会直接崩溃,其他玩家也会跟着断开连接。
  • 在开局前等待玩家加入的过程中,已加入的玩家只能等待,希望可以开发一个类似聊天室的功能(优先级:中)。

游戏内中文支持

优先级:中

目前游戏内所有的提示文字都是英文,希望将来可以增加中文支持,并在命令行或配置文件中进行配置。

更完善的 Windows 支持

优先级:中

目前所有功能都已在 Linux 平台上测试通过,但是在 Windows 平台有以下缺陷:

  • bot 无法正确在 Windows 平台上使用(应该是 Windows 平台上 _getch() 和 Python 中 subprocess 模块的 stdin.write 一起使用的问题)

完善 UNO 规则细节

优先级:中

  • 设计一种合理的方式让玩家在打出倒数第二张牌的时候需要自己喊 UNO。
  • 可以质疑玩家打出的 +4,如果玩家在有其他可打出的牌的情况下打出 +4 且被质疑,则摸牌惩罚由该玩家自己接受。(优先级:低)

配置键盘映射方式

优先级:低

让玩家可以配置移动光标的按键、出牌的按键、跳过的按键以及指定接下来颜色的按键。

寻找合适的 Unicode 字符以表示 Reverse 和 Skip 牌

优先级:低

目前 Reverse 牌和 Skip 牌分别用 R 和 S 表示,或许可以寻找两个合适的 Unicode 字符来代替它们。

个性化 banner

优先级:低

设计一种个性化 banner,并嵌入 UI 中合适的位置。