一个完全由单个 index.html 构成的轻量级 Roguelite 原型,使用原生 Canvas 绘制画面、内联 CSS 呈现 UI,并通过原生 JavaScript 驱动整套逻辑。无需构建或依赖第三方库,双击文件即可游玩。
- 纯前端、单文件:所有画面、逻辑与样式都打包在一个 HTML 文件中,便于托管与离线游玩。
- 程序生成地牢:基于 9×9 潜在网格进行随机游走,自动拼接普通房、Boss 房、道具房、商店、尖刺挑战、隐藏室与献祭房等多种房型。
- 七层循环冒险:难度随层数递增,击败终章后可进入循环模式继续挑战更高周目。
- 丰富的敌人与 Boss:实现了近战突进、远程弹幕、召唤、瞬移等多种 AI 行为,以及多阶段 Boss 战。
- 道具与资源系统:包含被动/主动道具、卡牌、炸弹、钥匙、金币、献祭交易与宝箱掉落等机制,可在商店或道具房获取增益。
- 辅助与实验工具:HUD 集成虚拟键盘切换、作弊面板(可即时修改属性/资源/给予道具)与道具图鉴,便于移动端游玩与数值调试。
- 动态音效:通过 Web Audio API 即时生成战斗、爆炸、提示等音效。
- 克隆或下载仓库:
git clone https://github.com/QianLieXian/simple-isaac-made-in-html-by-gpt5.git cd simple-isaac-made-in-html-by-gpt5 - 直接双击
index.html,或使用任意静态服务器(如npx serve .)在浏览器中打开。 - 推荐使用最新版本的 Chrome / Edge / Firefox。移动端请保持横屏,并视需要开启 HUD 中的“屏幕键盘”。
| 功能 | 键位(桌面端) | 触控 / 虚拟键盘 |
|---|---|---|
| 移动 | W / A / S / D | 虚拟方向键 |
| 射击 | ↑ / ↓ / ← / → | 虚拟射击键 |
| 放置炸弹 | E | Bomb |
| 购买物品 | F | Buy |
| 使用卡牌 | Q | Card |
| 开始 / 回到菜单 | Enter | Start |
| 暂停 / 继续 | P | Pause |
| 重新开始 | R | Reset |
每局都会根据当前种子重新生成房间拓扑:从安全起始房间出发,经由随机路径连接战斗房,最远端额外拼接 Boss 房。系统还会尝试放置至少一个道具房与商店,并根据概率添加尖刺试炼、秘密房间和献祭交易入口。清理房间后自动掉落资源或宝箱,偶尔出现传送门将玩家送往交换房或下一层。
玩家需要逐层向下推进至第 7 层。敌人生命、移动速度与攻击节奏会按层数提升;终局胜利后可通过结算界面进入下一周目,携带当前构筑继续挑战,循环次数会影响奖励与提示文本。
玩家以泪弹射击为基础,可拾取主动技能(如蓄力硫磺光束、短剑、光剑)与被动增益(攻击力、射速、追踪、护盾等)。地牢包含近战冲刺、远程弹幕、轨迹炸弹、召唤虫群、瞬移偷窃、裂变分裂等十余种敌人,以及附带独特招式的多阶段 Boss。不同房型可能生成陷阱、尖刺、火焰与可破坏障碍,影响走位与投掷炸弹。
房间与宝箱会掉落红心/灵魂心、炸弹、钥匙、金币等资源。道具房保证刷新一个未拥有的被动或主动,道具描述会显示在 HUD。商店贩售道具、资源与卡牌;献祭台允许以生命值换取强力奖励;红箱有机会触发随机传送。拾取道具后会更新道具图鉴,可在页面下方查看已解锁条目。
HUD 右上角提供“屏幕键盘”与“作弊台”按钮。屏幕键盘会弹出触控按键并与实体键盘互斥;作弊台允许即时修改玩家生命、基础属性、资源数量或直接注入道具,并在输入无效 ID 时给出反馈。结算界面展示通关时间、当前层数与循环次数,便于复盘。
- 主要逻辑位于
index.html的脚本部分,包含配置、渲染、实体、AI、掉落与 UI 管理。修改时建议使用支持语法高亮的编辑器并开启折叠。 - 代码大量使用常量配置(如移动、掉落、房间生成等),可直接在开头的
CONFIG对象中调节。 - 若需调试音效,可在浏览器控制台观察
AudioContext的初始化日志。
本项目以 MIT License 发布,欢迎在保留原始版权声明的前提下自由修改与分发。