怀旧小游戏合集
怀旧小游戏合集
贪吃蛇、2048、打砖块,三个老游戏放在一起。
🐍 贪吃蛇
- 操作:方向键 或
WASD;手机上用下面的方向键按钮 - 暂停:
空格,重开:R - 吃到红点 +10 分,蛇变长,速度也会稍微变快(最快到 70 毫秒一步)
- 撞墙或咬到自己就结束
开局前可以选的三件事
| 选项 | 说明 |
|---|---|
| 模式 | 🐍 单人 自己玩;🤖 和 AI 一起玩 会多出一条蓝蛇跟你抢食物 |
| 地图 | 20×20 小 / 30×30 中(默认)/ 40×40 大。改完立刻重开,画布固定 480×480,格子会跟着变小 |
| AI 难度 | 只在「和 AI 一起玩」时出现,四档:简单 普通 困难 地狱 |
换了模式或地图会自动重开一局,不用手动点。
和 AI 一起玩
- 两条蛇同场竞技:你吃你的,它吃它的,同时抢同一颗食物则都不算
- 撞到任意一条蛇都算死(包括 AI 的身子)
- 谁先撞死谁输;AI 撞死了就是你赢,页面会记一次「胜过 AI」
- 两条蛇同时撞死 →
🤝 同归于尽 - 把整块地填满 →
🏆 填满整张地图!
四档 AI 难度有什么区别
AI 的思路是:先用 BFS 找最近的食物,走过去之前虚拟走一步,确认还摸得到自己的尾巴才动手(防止把自己关死)。难度差异体现在「失误率」和「做不做安全检查」上:
| 难度 | 失误率 | 安全检查 | 实测水平 |
|---|---|---|---|
| 简单 | 22% | ❌ 不做,只会闷头冲食物 | 活 ~570 步,约 310 分 |
| 普通 | 14% | ✅ 做 | 活 ~600 步,约 370 分 |
| 困难 | 4% | ✅ 做 | 活 ~680 步,约 475 分 |
| 地狱 | 0% | ✅ 做 | 活 700 步以上,约 500 分,基本不自己作死 |
(上面是电脑上跑几百局仿真测出来的平均值,你实际玩的时候会有浮动)
想赢的话:低难度下 AI 会自己撞死,高难度下得靠抢食物——它永远走最近的那颗,你可以提前卡在食物和它之间的路上。
🔢 2048
- 操作:方向键 或
WASD;手机上直接手指滑动 - 相同的数字撞到一起会合并,每次移动后会随机冒出一个新数字(90% 是 2,10% 是 4)
- 凑出 2048 就算赢,之后还能继续玩
- 四个方向都挪不动了就结束
小技巧:把最大的数固定在一个角上,尽量只往两个方向挪,别乱按。
🧱 打砖块
- 操作:
←→或AD移动挡板;也可以用鼠标或手指直接拖 - 暂停:
空格 - 一共 3 条命,球掉下去扣一条
- 用挡板边缘接球,反弹角度更斜,更容易打到角落
- 越上面的砖分数越高(最上面一排 50 分,最下面 10 分)
- 全部打光就通关
最高分
三个游戏各有自己的最高分,存在浏览器的 localStorage 里:
| 游戏 | 存储键 |
|---|---|
| 贪吃蛇最高分 | jhp-snake-best |
| 胜过 AI 的次数 | jhp-snake-ai-win |
| 2048 | jhp-2048-best |
| 打砖块 | jhp-break-best |
换浏览器、清缓存、用无痕模式都会清零,这是浏览器本地存储的规矩。
想手动清零,在浏览器控制台里执行:
localStorage.removeItem('jhp-snake-best')
小贴士
- 玩的时候方向键不会让页面滚动,已经在代码里屏蔽了
- 切到别的游戏标签时,上一个游戏会自动停下来,不占 CPU
- 三个游戏加起来也就一千多行代码,没有用任何引擎和图片素材
jhp.studio