.NET Aspire、Codebreaker 游戏与最小 API 开发指南
1. Codebreaker 游戏解决方案概述
Codebreaker 是一款传统的解谜游戏,玩家需从六种不同颜色中选择四种颜色(可重复)来猜测正确组合。游戏服务会随机选择正确颜色,每进行一次移动,游戏会返回相应结果:颜色正确且位置正确返回黑色棋子,颜色正确但位置错误返回白色棋子,玩家有最多 12 次移动机会来找到正确答案。
1.1 游戏示例
以图 1.4 所示的 Blazor 客户端应用程序为例,玩家在五次移动后找到了正确答案“黄色 - 黑色 - 红色 - 黑色”。第一次选择“红色 - 绿色 - 蓝色 - 黄色”得到两个白色棋子,第五次选择“黄色 - 黑色 - 红色 - 黑色”得到四个黑色棋子,表明此次选择正确。
1.2 游戏服务架构
该解决方案涉及多个服务:
- 游戏 API 服务 :不仅供人类玩家的 UI 调用,还会被机器人服务调用。机器人服务在接收到消息时会自动进行多场游戏。游戏 API 服务会将游戏信息和每一步移动记录写入数据库。
- 实时服务和排名服务 :游戏完成后,游戏 API 服务不仅将信息写入数据库,还会发送事件。实时服务和排名服务会接收这些事件。实时服务通过 ASP.NET Core SignalR 供实时客户端监控正在进行的游戏,排名服务将完成的游戏写入自己的数据库,客户端可据此获取每日、每周和每月的游戏排名。
- YARP 服务 :用于用户认证并将请求转发到不同服务。
订阅专栏 解锁全文
74

被折叠的 条评论
为什么被折叠?



