Show HN: Phive,一款类似五子棋的游戏,可与朋友或单人游玩
摘要
Phive 是一款类似五子棋的网页游戏,玩家轮流放置并移动棋子至相邻位置,目标是连成五子一线。可在 phive.app 上与朋友或单人游玩。
2025年,我和家人长期沉迷于一款名为 OK Play 的基于五子棋/连五子的游戏。我制作了一个网页版本,这样我们就可以随时玩(即等孩子们入睡后在手机上玩)。<p>第一个达成五子连珠(水平、垂直或对角线)的玩家获胜。在第一阶段,玩家轮流将自己的棋子放置在已有棋子的旁边(必须是边对边连接;不能只靠角对角放置)。当玩家棋子用完后,游戏进入移动阶段:你可以拿起自己的一颗已有棋子,按照之前的放置规则重新放置。在移动阶段,你不能移动一颗棋子导致其他棋子断开连接。游戏按玩家顺序继续,直到有人获胜。<p>我使用 Elixir 的 Phoenix 框架编写了该应用,并采用 Daisy UI / Tailwind CSS 进行样式设计。该应用部署在 Gigalixir 的慷慨免费计划上。我绝非前端开发者/设计师,所以肯定有比我这里更好的实现方式。我主要专注于使其在移动设备上友好并支持浅色和深色模式。可能存在浏览器/设备特定的 bug,因为我们只在自己的手机(iPhone 13 Pro,Safari / Chrome)和我的电脑(MacBook Pro,Safari)上测试过。如果有任何建议,无论是前端还是其他方面,都欢迎提出!<p>开发这个过程真的是一次旅程。亮点包括学习了五子棋及其变种、关节点(以及用于强连通分量的 Trajan 算法),以及蒙特卡洛树搜索算法(用于我最近为单人游戏添加的中级“AI”模式)。低点都是与 CSS 相关的。<p>我希望将来能添加一个“匹配”模式。不过我对通常如何实现这种机制的了解还不多——这将是一个很好的学习机会!
查看缓存全文
缓存时间: 2026/06/03 09:44
# Phive
来源:https://phive.app/
### 放置棋子
轮流每次放置一枚棋子。新棋子必须与已有棋子相邻(上、下、左、右)。对角相邻不允许。
每个新棋子需与已有棋子通过边相连。
❯
### 移动棋子
所有棋子放置完成后,轮流移动自己的棋子。若移除某棋子会导致其他棋子之间断开连接,则该棋子不可移动。
在下方的底线中,中间的棋子无法移动,因为移除它会使最右边的棋子失去连接。
❮❯
### 获胜条件
将己方棋子连成水平、竖直或对角线方向的五子一线。
❮
相似文章
Show HN: Homegames. 一个我开发了8年的开源游戏平台
Homegames 是一个免费的开源游戏平台,用户可以在浏览器中游玩、制作和分享游戏,并提供代码编辑器和实时多人预览功能。该项目自2018年起作为副业开发。
Show HN: Number Gacha,一款回归本质的抽卡游戏
Number Gacha 是一款半戏仿半真实的抽卡游戏,玩家可以抽取、打开并让数字进行对战。建议在桌面端游玩以获得最佳体验。
Show HN: Zanagrams
Zanagrams 是一款免费的每日单词拼图游戏,可在线游玩。
Show HN: GeoChess – 开源地理策略游戏
GeoChess 是一款开源地理策略游戏,玩家轮流声称与当前国家有陆地边界的国家。
Show HN:我基于二分查找构建了一个单词游戏
Hilo 是一款每日单词谜题,将词汇与字母推理相结合,通过“高/低”提示逐步缩小一个7字母单词的每个字母范围,强调逻辑和推理,而非冷门知识。