本页目录

四子棋(c4)——TypeScript + Canvas 浏览器对战游戏

c4 · kenrick95/c4

c4 即 Connect Four(四子棋),是一款用 TypeScript 编写、基于 HTML canvas 渲染的浏览器游戏。玩家通过点击七列中的一列落子,率先在横、竖或斜方向连成四子者获胜;对手为使用 Minimax 加 Alpha-Beta 剪枝的 AI,其评估函数为硬编码...

策略 益智解谜 桌面游戏 无明确引擎 TypeScript 敌人 AI 游戏状态管理 UI 系统 渲染技术 中级
★ Stars 281 Forks 108 License MIT 更新 2026-11-05

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
依赖安装使用 yarn,国内网络可能需配置 npm/yarn 镜像源;线上地址为 GitHub Pages,国内访问可能不稳定,建议本地构建运行。

中文项目介绍

c4 是 Connect Four(四子棋) 的缩写,是一款完全运行在浏览器中的棋类游戏。项目使用 TypeScript 编写,并借助 HTML 的 canvas 元素完成画面渲染。玩家在七列棋盘中轮流落子,与内置 AI 展开对战。

根据 README 说明,AI 采用 Minimax 算法 配合 Alpha-Beta 剪枝 来搜索着法,但其评估函数是硬编码的,因此 AI 并不保证每一步都走出理论最优解。这也意味着游戏在具备一定挑战性的同时,仍留有可被玩家利用的空间。

项目在 GitHub 上以 MIT 许可证开源,欢迎各类贡献、Pull Request 与问题反馈。

玩法指南

游戏目标非常明确:率先在垂直、水平或对角线方向连成四枚己方棋子 的一方获胜。

  • 棋盘由七列组成,每一列可以容纳多枚棋子。
  • 轮到玩家时,点击任意一列,棋子会从该列顶部落入最底部的空位。
  • 双方交替落子,直到某一方连成四子或棋盘被填满。
  • 对手为 AI,其决策基于 Minimax 搜索与 Alpha-Beta 剪枝。

README 中提供了游戏截图,并链接到维基百科的 Connect Four 页面,供不熟悉规则的玩家进一步了解。

技术架构分析

技术要点

  • 语言与渲染:TypeScript 编写逻辑,HTML canvas 负责绘制棋盘与棋子。
  • AI 算法:Minimax 搜索 + Alpha-Beta 剪枝,评估函数硬编码。
  • 项目结构:README 的开发说明提到代码分布在 browser/、core/、server/ 三个目录中,暗示项目对浏览器端、核心逻辑与服务端做了分层。
  • 构建工具:使用 yarn 管理依赖,本地开发服务器默认运行在 http://localhost:5173/。
  • 持续集成:README 顶部展示了 Test 与 Deploy 两个 GitHub Actions 工作流徽章,说明项目配有自动化测试与部署流程。

如何构建与开发

README 给出了清晰的本地开发步骤:

  1. Fork 并克隆仓库。

  2. 安装依赖:

    yarn install
    
  3. 启动本地开发服务器:

    yarn start
    
  4. 在 browser/、core/ 或 server/ 目录中进行修改。

  5. 打开 http://localhost:5173/ 测试效果。

  6. 满意后提交 Pull Request。

补充说明

浏览器兼容性

README 明确指出,游戏在 最新版 Firefox、Edge、Chrome 和 Safari 中运行良好。由于依赖 HTML canvas,只要浏览器支持该标准,通常即可正常游玩。

在线体验

README 提供了线上地址:https://kenrick95.github.io/c4/,无需本地构建即可直接游玩。

许可证

本项目采用 MIT License 开源。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目