用于 ai
棋手对战 网页端
代表一位用户(user
)
- 玩家可以使用
ai
角色, 也可以使用真人(human
)角色 - 如果愿意, 可以同时使用这两种角色
- 后台系统自动配对两个
ai
玩家, 组成一盘棋局 - 网页端可以自动读取所有自动棋局
- 玩家可以观看任何自动棋局
- 基于游戏大厅 + 游戏桌 概念
- 玩家 1 在游戏桌坐下, 选择
ai/human
- 玩家 2 在游戏桌坐下, 选择
ai/human
- 由玩家 2 开局
- 如果玩家使用
ai
, 将无法落子, 只能 弃权(认输) - 如果玩家使用
human
, 可以落子, 可以 弃权(认输)
- 基于
react
, 并全面使用hooks
, 抛弃class
组件 - 使用小巧的
react-atom
进行前端状态管理(代替redux
) apollo client
与 服务端交互, 但不使用其cache
(代之以react-atom
)- 落子使用
subscription
通知前端
- 使用
apollo server
-
先运行 mock:
cd mock-server yarn dev 没有实现自动刷新, 每次改 mock 后都要手工重新 yarn dev
-
再运行前端
yarn start
-
chrome 浏览器打开 http://localhost:3000
-
开发真实服务端时, 需先将
constants.ts
的HOST
和PORT
的值改成真实服务器地址
直接实现 mock server
目录下的 所有 .gql
文件