经典的推箱子网页游戏,使用 TypeScript + Vite + Tailwind CSS 构建。
https://LeeGoDamn.github.io/sokoban/
- 🎯 8 个精心设计的关卡 - 从入门到终极挑战
- ⌨️ 键盘控制 - 方向键或 WASD 移动
- 📱 移动端支持 - 虚拟方向键
- ↩️ 撤销功能 - 随时悔棋
- 📊 步数统计 - 挑战最少步数
- 🎨 精美 UI - 现代渐变设计
- 玩家控制蓝色小人
- 把所有黄色箱子推到红色目标点上
- 箱子只能推,不能拉
- 箱子一旦进入死角就无法移动
| 操作 | 键盘 | 移动端 |
|---|---|---|
| 向上移动 | ↑ / W | 上按钮 |
| 向下移动 | ↓ / S | 下按钮 |
| 向左移动 | ← / A | 左按钮 |
| 向右移动 | → / D | 右按钮 |
| 撤销 | Ctrl+Z | 撤销按钮 |
| 重置 | R | 重置按钮 |
# 安装依赖
npm install
# 开发模式
npm run dev
# 构建生产版本
npm run buildsokoban/
├── src/
│ ├── main.ts # 入口文件
│ ├── style.css # 样式
│ └── game/
│ ├── types.ts # 类型定义
│ ├── levels.ts # 关卡数据
│ ├── Renderer.ts # 渲染器
│ └── Game.ts # 游戏逻辑
├── docs/ # 构建产物
├── .github/workflows/ # GitHub Actions
└── package.json
- 第一关 - 入门
- 第二关 - 双箱
- 第三关 - 角落
- 第四关 - 迷宫
- 第五关 - 挑战
- 第六关 - 进阶
- 第七关 - 大师
- 第八关 - 终极
享受游戏! 🎮✨