6 篇文章带有标签 “game”

游戏引擎对比分析

覆盖 8 款主流引擎,从开发语言、授权费用、2D/3D 能力、目标平台、学习曲线到生态资源全面对比。评分基于公开资料与社区共识,含主观判断,仅供选型参考。

一、选型看哪些维度

  • ① 开发语言:JS/TS 适合网页派;C# 门槛适中;C++ 性能强但陡峭;无代码更适合零基础。
  • ② 授权与费用:开源免费(Godot / Phaser)最省心;Unity 订阅、Unreal 抽成,上线后都要算账。
  • ③ 2D / 3D 能力:2D 多数引擎都强;3D 差距大,Unreal / Unity 领跑,Godot 4 进步明显。
  • ④ 目标平台:纯网页 H5、微信小游戏、PC、手机 App、主机——覆盖度直接影响发行。
  • ⑤ 学习曲线:无代码与 GDScript 上手快;C++ / 蓝图体系需要时间沉淀。
  • ⑥ 生态与资源:教程、插件、素材商店的多寡,决定你卡壳时能不能自救。

二、综合对比表

中国象棋是什么

中国象棋是一款在浏览器中直接运行的纯前端人机对弈游戏,无需安装、无需后端,打开网页即可与电脑 AI 对弈。游戏完整实现象棋规则,棋盘采用 HTML5 Canvas 绘制木质风格界面,支持桌面与移动端触屏操作。

核心功能

  • 人机对弈:玩家可选择执红先行或执黑后手,AI 即时应招。
  • 三档 AI 难度:入门、业余、高手,对应搜索深度 2 / 3 / 4 层。
  • Minimax + Alpha-Beta 引擎:AI 基于 Minimax 搜索与 Alpha-Beta 剪枝,结合棋子价值与位置评估表决策。
  • 完整规则判定:马蹩腿、象塞眼、炮隔子吃、兵卒过河、九宫限制、将帅照面(飞将)等规则全部实现。
  • 终局判定:自动识别将军、将死与困毙(无棋可走),并弹出结算提示。
  • 走法提示:点选棋子后高亮显示所有合法落点,可吃子目标以红圈标出。
  • 中文棋谱:自动以「炮二平五」式中文记谱法记录双方着法,吃子附带标注。
  • 悔棋 / 认输 / 提示:支持悔棋(回退一回合两步)、一键认输,以及让 AI 推荐当前最佳走法。
  • 对局信息:实时显示当前回合、双方用时与总步数。
  • 本地音效合成:使用 Web Audio API 实时合成走子与吃子音效,可随时开关。
  • 响应式布局:桌面端棋盘居中、左右信息栏;窄屏自动堆叠,手机触屏也能流畅对弈。

使用方式

  1. 打开 中国象棋
  2. 在「设置」中选择执子方(执红先行 / 执黑后手)与 AI 难度。
  3. 点击己方棋子查看合法走法,再点击目标位置落子。
  4. 需要时使用「悔棋」「提示」按钮,或对局结束后点击「再来一局」。

用单文件 HTML 写一个能对弈的中国象棋 AI——从规则引擎到 Alpha-Beta 剪枝

一次「中国象棋 + 纯前端 + 自写搜索算法」的完整实践。零依赖、零构建,双击即玩。本文记录规则引擎、AI 搜索、Canvas 渲染的设计思路,以及布局调试中踩过的几个值得记住的坑。

WorkBuddy + GLM-5.2 开发的,花了 200 积分。开发出来第一个版本并没有花多少钱,问题是反复修改一些小问题,积分用量就上来了,感觉缓存并没有起作用。

一、需求与技术选型

需求很朴素:一款可以人机对弈的中国象棋 Web 应用

权衡后定的方案:

维度 选择 理由
形态 单文件 index.html 双击即可运行,无需构建、无需服务器,便于分享
技术栈 原生 HTML5 + CSS3 + ES6 零依赖,引擎/AI/UI 全在一个文件里也能保持清晰
棋盘渲染 Canvas 棋盘线条、楚河汉界、九宫斜线用 Canvas 绘制最直接
AI 算法 Minimax + Alpha-Beta 剪枝 经典、可控、纯前端可跑,难度由搜索深度决定

架构上坚持一点:引擎层(棋盘状态 + 走子规则 + AI)与 UI 层(渲染 + 交互)彻底解耦。引擎函数只操作棋盘数组,不碰 DOM,方便单独测试和替换。

二、棋盘数据结构

中国象棋是 10 行 9 列的交叉点棋盘。用一个二维数组表示:

坦克大战是什么

坦克大战是一款在浏览器中直接运行的纯前端俯视角坦克射击游戏,复刻经典街机玩法,无需安装、无需后端,打开网页即可开战。玩家操控坦克在 13×13 的战场上移动射击,目标是消灭全部敌军并保护基地(老鹰),支持键盘与触屏两种操作方式。

核心功能

  • 经典俯视角射击:方向键控制坦克移动,朝向即开火方向,空格 / J 发射子弹。
  • 3 个关卡:每关地图、敌军总数、刷新频率与敌人类型权重各不相同,难度逐关提升。
  • 四种敌军类型:普通、快速、装甲、智能坦克,智能坦克会追踪玩家位置。
  • 六种战场道具:火力升级、无敌护盾、强化基地、冻结敌军、全屏清除、奖励生命。
  • 火力成长系统:拾取星形道具可提升火力等级,最高等级可破坏钢墙。
  • 触屏虚拟按键:移动设备自动显示方向键与圆形射击按钮,手机也能玩。
  • 本地音频合成:使用 Web Audio API 实时合成 BGM、射击、爆炸、道具等音效,无外部资源。
  • 可自定义按键:支持在设置中重映射移动、射击、暂停、确认、重开等按键。
  • 画质与音量调节:提供低 / 中 / 高三档画质,独立开关音乐与音效,音量 0% ~ 100% 可调。
  • 本地进度保存:使用 localStorage 记录最高分与已解锁关卡,下次打开继续挑战。
  • 响应式 HUD:桌面端右侧信息栏显示关卡、剩余敌军、生命、得分与增益状态;窄屏自动堆叠。

使用方式

  1. 打开 坦克大战
  2. 在主菜单选择已解锁的关卡,点击「开始游戏」。
  3. 使用方向键移动坦克,空格 / J 射击;触屏设备使用屏幕上的虚拟按键。
  4. 消灭全部敌军即可过关;保护基地不被击毁,生命耗尽或基地失守则游戏结束。

扫雷是什么

扫雷是一款经典的浏览器本地益智游戏。无需下载安装,打开网页即可游玩,支持简单、中等、困难三种难度,同时适配桌面端与移动端操作。

核心功能

  • 三种难度可选:简单(9×9,10 颗雷)、中等(16×16,40 颗雷)、困难(30×16,99 颗雷),一键切换。
  • 首次点击保护:第一次点击永远不会踩到雷,确保开局安全。
  • 自动展开空区:翻开无雷的空白格子时,自动级联展开周围相邻区域。
  • 插旗标记:支持右键或长按标记疑似地雷位置,实时显示剩余雷数。
  • 双模式切换:移动端提供"点击翻开 / 点击插旗"模式切换按钮,操作更直观。
  • 长按插旗:移动端支持长按格子快速插旗,并伴随触觉反馈(若设备支持)。
  • 计时器:从第一次点击开始计时,精确到秒。
  • 表情按钮:重置按钮随游戏状态变化(😊 / 😵 / 😎),点击即可重新开始。
  • 动画效果:翻开格子、踩雷爆炸、胜利庆祝均配有流畅的 CSS 动画。
  • 彩色数字提示:周围雷数 1~8 分别用不同颜色显示,便于快速判断。

使用方式

  1. 打开 扫雷
  2. 选择难度(默认简单)。
  3. 点击格子开始游戏,首次点击安全无雷。
  4. 根据数字提示推理雷的位置,用右键或长按插旗标记。
  5. 翻开所有安全格子即可获胜,踩到雷则游戏结束。
  6. 点击表情按钮 😊 随时重新开始。

操作说明

坦克大战是什么

坦克大战是一款纯前端运行的经典坦克射击游戏,基于 HTML5 Canvas 构建。玩家控制坦克消灭所有敌人、保护基地,采用关卡制推进,每关敌人数量和强度逐渐增加,支持道具收集和丰富的自定义配置。

核心功能

  • 经典关卡制玩法:消灭所有敌人即可进入下一关,每关难度递增。
  • 6 种道具系统:生命+1、火力提升(散射穿甲弹)、速度提升、护盾、炸弹(全屏清敌)、冻结敌人。
  • 完整音效系统:基于 Web Audio API 合成射击、爆炸、移动、通关、游戏结束等音效。
  • 自定义游戏配置:支持调整玩家速度、射击冷却、初始生命、敌人数量与速度、道具生成间隔、地图元素数量等参数。
  • 实时侧边栏状态:显示分数、关卡、生命值(心形)、敌人进度条、活跃道具计时、游戏时间、历史最高分。
  • 暂停与音效控制:游戏中可随时暂停/继续,一键开关音效。
  • 本地最高分记录:通过 localStorage 保存历史最高分,刷新不丢失。
  • 响应式布局:适配不同屏幕尺寸,三栏布局自动调整为纵向排列。

操作说明

  • WASD / 方向键:控制坦克移动
  • 空格键:发射子弹
  • 回车键:开始游戏 / 重新开始
  • P 键:暂停 / 继续游戏
  • M 键:开关音效

得分规则

  • 击毁敌人坦克:100 分
  • 通关奖励:500 分
  • 道具得分:20 分
  • 基地被摧毁:游戏结束

技术栈

  • HTML5 Canvas
  • JavaScript(原生,无框架依赖)
  • Web Audio API(音效合成)
  • localStorage(最高分持久化)
  • 无后端、无依赖、纯静态页面