我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权。我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋等游戏,不收费没广告。还开发了《Dice Crush》参加Game Jam 2022。喜欢可以关注我 HullQin 噢~我有空了会分享做游戏的相关技术。
1. 问题描述
如果让你做个联机《五子棋》游戏,你会怎么存储棋盘上的棋子信息呢?
我的意思是,根据你存储的这些信息,就可以知道:
- 谁是黑棋?谁是白棋?
- 现在游戏结束了吗?若游戏结束,谁赢了?若没结束,现在该谁下棋了?
- 如果游戏支持悔棋,现在有人在请求悔棋吗?是谁在请求?
- 如果游戏支持认输,重新审视是否满足第2点。
- 当前场上棋子的分布。
请你自己先思考一下,再看下文的解决方案。
2. 解决方案
2.1 谁黑谁白
| 优点 | 缺点 | 适用范围 | |
|---|---|---|---|
| 方案一:用1个变量标识你是哪个玩家;再用1个变量标识哪个玩家是黑棋。 | 有玩家号码标识,可扩展性好 |

本文介绍了如何在开发《五子棋》游戏中存储棋局信息,包括棋盘状态、游戏流程(如黑白棋判断、游戏结束、悔棋、认输)和空间效率考虑。建议使用状态机来管理游戏状态,并提供了两种棋子位置存储方案,适用于不同的存储需求。同时提到,通过十五进制表示棋子位置,可实现棋局分享并提高用户体验。
最低0.47元/天 解锁文章
902

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



