# code-defense **Repository Path**: quan-yucai/code-defense ## Basic Information - **Project Name**: code-defense - **Description**: Code Defense 是一款以编程概念为主题的塔防游戏。你需要放置各种"函数塔"来阻止"Bug"到达终点。每种防御塔对应一个编程概念,每种Bug都有独特的程序员梗。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-26 - **Last Updated**: 2026-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: 塔防, 编程教育, 教育游戏, JavaScript, HTML5 ## README # Code Defense - 编程塔防 > 玩着塔防,不知不觉就把编程概念记住了! ## 游戏简介 Code Defense 是一款以编程概念为主题的塔防游戏。你需要放置各种防御塔来阻止"Bug"到达终点。每种防御塔对应一个编程概念,每种Bug都有独特的程序员梗。游戏包含 **180种防御塔**、**180种敌人**、**84个关卡**,以及丰富的技能、符文、挑战和进化系统。 ## 快速开始 ```bash # 直接双击 index.html 即可在浏览器中打开游戏 ``` ## 玩法说明 ### 基本规则 - 放置防御塔,阻止Bug到达终点 - 每波敌人从左侧入口进入,沿路径向右侧终点移动 - Bug到达终点会扣除生命值,生命值归零则游戏失败 - 消灭Bug获得金币,用于购买更多防御塔 - 每关地图路径随机生成,每次都有新体验 ### 防御塔系统(180种) 游戏包含 **180种防御塔**,分为12大类别: #### 第一部分:基础语法类(24种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T01 | 变量塔 | 变量 | 单目标中速 | 无 | 1 | | T02 | 常量塔 | const | 单目标高伤慢速 | 不可升级但基础高 | 2 | | T03 | 数组塔 | 数组 | 同时攻击3目标 | 伤害均分 | 2 | | T04 | 二维数组塔 | 二维数组 | 攻击5x5区域内所有敌人 | 伤害低 | 8 | | T05 | 动态数组塔 | ArrayList | 可成长(每击杀一个敌人增加1攻击力) | 最多+50 | 15 | | T06 | 链表塔 | LinkedList | 攻击会"插入"一个子弹在敌人队列中 | 连锁伤害 | 16 | | T07 | 栈塔 | Stack | 攻击"压入"伤害,最后一次性"弹出"(爆发) | LIFO | 17 | | T08 | 队列塔 | Queue | 攻击"排队",每3秒集中攻击一次 | FIFO | 17 | | T09 | 哈希表塔 | HashMap | 标记敌人,相同标记敌人受额外伤害 | 键值对 | 18 | | T10 | 集合塔 | Set | 每个敌人只能被攻击一次(但伤害极高) | 唯一性 | 18 | | T11 | 循环塔 | for循环 | 连续攻击5次,休息2秒 | 爆发 | 3 | | T12 | while塔 | while循环 | 持续攻击直到目标死亡(期间无法切换目标) | 专注 | 19 | | T13 | do-while塔 | do-while | 先攻击一次,再判断是否继续 | 至少一次 | 19 | | T14 | 条件塔 | if/else | 优先血量最高/最低(可切换) | 暴击+20% | 4 | | T15 | switch塔 | switch | 每10秒切换一种攻击模式(单伤/AOE/DOT) | 灵活 | 20 | | T16 | 函数塔 | 函数 | 召唤子进程塔 | 持续15秒,冷却30秒 | 5 | | T17 | 箭头函数塔 | lambda | 子进程持续时间短但伤害高 | 函数式 | 20 | | T18 | 递归塔 | 递归 | 伤害逐次翻倍,间隔+0.5秒 | 可重置 | 6 | | T19 | 尾递归塔 | tail recursion | 无间隔递增,但最多5次 | 优化版 | 21 | | T20 | 类塔 | class | 产生实例继承50%属性 | 最多3实例 | 7 | | T21 | 抽象类塔 | abstract | 不攻击,相邻塔攻速+20% | 辅助 | 21 | | T22 | 接口塔 | interface | 复制相邻塔50%攻击力 | 可叠加 | 10 | | T23 | 继承塔 | extends | 继承相邻塔能力 | 核心组合 | 8 | | T24 | 多态塔 | polymorphism | 每30秒随机变一种塔(娱乐) | 随机 | 隐藏关 | #### 第二部分:高级语言特性类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T25 | 指针塔 | 指针 | 弹射最近敌人 | 最多弹射3次 | 9 | | T26 | 智能指针塔 | smart pointer | 弹射时自动计数,用完消失 | 自动管理 | 22 | | T27 | 引用塔 | reference | 复制目标血量20%作为伤害 | 对Boss无效 | 9 | | T28 | 泛型塔 | generic | 可切换攻击类型(物理/魔法/真实) | 灵活 | 隐藏关 | | T29 | 模板塔 | template | 攻击时根据敌人类型自动选择最优伤害 | 自动适应 | 22 | | T30 | 重载塔 | overload | 可同时拥有多种攻击方式(切换) | 多功能 | 隐藏关 | | T31 | 异常塔 | try/catch | 命中率70%,失败重试 | 有效命中+30% | 10 | | T32 | finally塔 | finally | 无论是否命中,都造成固定伤害 | 稳定输出 | 23 | | T33 | 断言塔 | assert | 伤害等于血量差值 | 高血量敌人 | 12 | | T34 | 协程塔 | coroutine | 攻速逐渐加快,每10秒重置 | 波动输出 | 11 | | T35 | 异步塔 | async/await | 蓄力2秒,然后造成3倍伤害 | 节奏型 | 23 | | T36 | 反射塔 | reflection | 复制敌人的一个特性为己用 | 策略型 | 24 | #### 第三部分:并发与并行类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T37 | 线程塔 | thread | 同时攻击2目标 | 锁等待1秒 | 11 | | T38 | 线程池塔 | thread pool | 可存储3次攻击,瞬间释放 | 爆发 | 24 | | T39 | 锁塔 | mutex | 攻击时锁定目标,期间其他塔无法攻击 | 独占 | 25 | | T40 | 读写锁塔 | RW lock | 可切换读模式(攻速快伤害低)/写模式(攻速慢伤害高) | 灵活 | 25 | | T41 | 信号量塔 | semaphore | 可同时攻击数量=升级次数 | 可成长 | 25 | | T42 | 原子塔 | atomic | 攻击不可被打断,免疫控制 | 稳定 | 26 | | T43 | 并行塔 | parallel | 分裂成2个分身攻击不同目标 | 双倍 | 26 | | T44 | Fork/Join塔 | fork/join | 分裂攻击,然后合并伤害 | 分治 | 26 | | T45 | Actor塔 | actor model | 每个子进程独立,不共享状态 | 消息传递 | 27 | | T46 | CSP塔 | CSP | 通过"通道"传递伤害,可串联 | 管道 | 27 | | T47 | 数据流塔 | dataflow | 伤害在连接的塔之间流动 | 网络 | 27 | | T48 | 响应式塔 | reactive | 周围敌人变化时触发额外伤害 | 事件驱动 | 28 | #### 第四部分:内存与性能类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T49 | 栈内存塔 | stack | 攻击速度快,但伤害低 | 快速响应 | 28 | | T50 | 堆内存塔 | heap | 攻击速度慢,但伤害高 | 重量级 | 28 | | T51 | 缓存塔 | cache | 同一目标伤害递增(每次+20%) | 专注输出 | 11 | | T52 | 内存池塔 | memory pool | 预分配伤害,一次性释放 | 爆发 | 29 | | T53 | RAII塔 | RAII | 死亡时对杀死它的敌人造成大量伤害 | 同归于尽 | 29 | | T54 | 移动语义塔 | move | 可重新放置(售价80%返还) | 灵活部署 | 29 | | T55 | 浅拷贝塔 | shallow copy | 复制相邻塔50%伤害,不复制特殊效果 | 快速复制 | 30 | | T56 | 深拷贝塔 | deep copy | 复制相邻塔所有属性和效果(但冷却翻倍) | 完美复制 | 30 | | T57 | 延迟初始化塔 | lazy | 首次攻击前蓄力,之后正常 | 预热 | 30 | | T58 | 写时复制塔 | COW | 被攻击的敌人会复制给周围敌人 | 传染 | 31 | | T59 | 内存屏障塔 | memory barrier | 阻止敌人通过一段路径3秒 | 控制 | 31 | | T60 | 垃圾回收塔 | GC | 每15秒清理全场负面效果,恢复塔的状态 | 净化 | 31 | #### 第五部分:设计模式类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T61 | 单例塔 | singleton | 全场只能存在一座,属性极高 | 唯一 | 32 | | T62 | 工厂塔 | factory | 生产低级塔(临时) | 召唤 | 32 | | T63 | 抽象工厂塔 | abstract factory | 生产多种类型临时塔 | 多样化 | 32 | | T64 | 建造者塔 | builder | 分阶段建造,每阶段增强 | 成长 | 33 | | T65 | 原型塔 | prototype | 克隆相邻塔(临时) | 复制 | 33 | | T66 | 适配器塔 | adapter | 转换相邻塔的攻击类型 | 类型转换 | 33 | | T67 | 桥接塔 | bridge | 连接两座塔,共享属性 | 连接 | 34 | | T68 | 组合塔 | composite | 多个子塔组合成一个 | 整体 | 34 | | T69 | 装饰者塔 | decorator | 包裹相邻塔,增强属性 | 增强 | 34 | | T70 | 外观塔 | facade | 提供简单接口,内部复杂 | 简化 | 35 | | T71 | 代理塔 | proxy | 代替相邻塔承受伤害 | 保护 | 35 | | T72 | 观察者塔 | observer | 周围敌人变化时通知相邻塔 | 事件 | 35 | #### 第六部分:架构与框架类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T73 | MVC塔 | MVC | 模型(伤害)/视图(显示)/控制器(目标选择)分离 | 架构 | 36 | | T74 | MVP塔 | MVP | 类似MVC,但控制器不同 | 变种 | 36 | | T75 | MVVM塔 | MVVM | 数据绑定,伤害与敌人数量关联 | 响应式 | 36 | | T76 | 微服务塔 | microservice | 每个子进程独立服务,可单独升级 | 分布式 | 37 | | T77 | 单体塔 | monolith | 一座塔包含所有功能,不可拆分 | 传统 | 37 | | T78 | 服务网格塔 | service mesh | 自动处理相邻塔间通信 | 基础设施 | 37 | | T79 | 事件驱动塔 | event driven | 事件触发时造成额外伤害 | 异步 | 38 | | T80 | CQRS塔 | CQRS | 命令(攻击)和查询(显示)分离 | 分离 | 38 | | T81 | 六边形塔 | hexagonal | 每个方向攻击独立计算 | 架构 | 38 | | T82 | DDD塔 | DDD | 攻击根据敌人"领域"特性变化 | 领域驱动 | 39 | | T83 | 分层塔 | layered | 每层独立,可分别升级 | 层次 | 39 | | T84 | 管道过滤器塔 | pipeline | 多个过滤器串联,伤害递增 | 流水线 | 39 | #### 第七部分:数据库与存储类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T85 | SQL塔 | SQL | 查询敌人,返回伤害 | 声明式 | 40 | | T86 | 索引塔 | index | 攻击速度+100%,只能攻击同一目标 | 快速 | 隐藏关 | | T87 | 事务塔 | transaction | 每5秒造成高伤,期间不可打断 | ACID | 隐藏关 | | T88 | 视图塔 | view | 显示敌人弱点,周围塔对该敌人伤害+30% | 辅助 | 40 | | T89 | 存储过程塔 | stored proc | 预定义攻击序列,一键执行 | 批处理 | 40 | | T90 | 触发器塔 | trigger | 条件满足时自动攻击 | 自动化 | 41 | | T91 | 外键塔 | foreign key | 连接两座塔,一座受伤另一座反击 | 关联 | 41 | | T92 | 主键塔 | primary key | 唯一标识,免疫重复攻击 | 唯一性 | 41 | | T93 | NoSQL塔 | NoSQL | 灵活的攻击模式,无固定结构 | 灵活 | 42 | | T94 | 缓存塔 | Redis风格 | 内存攻击,速度极快但持久性低 | 高速 | 42 | | T95 | 消息队列塔 | MQ | 异步攻击,可堆积 | 削峰填谷 | 42 | | T96 | 数据仓库塔 | data warehouse | 累积伤害,一次性爆发 | OLAP | 43 | #### 第八部分:DevOps与工具类(12种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T97 | Git塔 | Git | 每30秒"回滚"一座塔(恢复状态) | 治疗 | 隐藏关 | | T98 | 分支塔 | branch | 分裂出复制塔,持续10秒 | 双倍 | 隐藏关 | | T99 | 合并塔 | merge | 合并相邻两座塔,属性叠加 | 融合 | 43 | | T100 | CI/CD塔 | CI/CD | 每20秒"部署",全场塔攻速+10%5秒 | 全局Buff | 隐藏关 | | T101 | Docker塔 | Docker | 免疫一次致命伤害,进入"容器"状态 | 保命 | 隐藏关 | | T102 | K8s塔 | K8s | 周围3x3格子塔冷却-20% | 光环 | 隐藏关 | | T103 | Terraform塔 | IaC | 可预先配置攻击序列 | 基础设施 | 44 | | T104 | Ansible塔 | 自动化 | 自动调整相邻塔的目标优先级 | 自动化 | 44 | | T105 | Jenkins塔 | 持续集成 | 每杀死10个敌人,全场塔攻速永久+1% | 成长 | 44 | | T106 | Prometheus塔 | 监控 | 显示敌人血量,并标记弱点 | 可观测 | 45 | | T107 | Grafana塔 | 可视化 | 显示全场数据,可分析敌人路径 | 仪表盘 | 45 | | T108 | ELK塔 | 日志 | 记录攻击日志,可"重放"过去5秒的攻击 | 回溯 | 45 | #### 第九部分:网络与通信类(18种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T109 | HTTP塔 | 请求 | 单目标中速 | 攻击失败30%概率重试 | 49 | | T110 | HTTPS塔 | 加密 | 单目标 | 加密攻击无视30%护甲 | 49 | | T111 | TCP塔 | 可靠传输 | 单目标稳定 | 稳定攻击不受干扰 | 50 | | T112 | UDP塔 | 快速传输 | 高攻速 | 攻速极快但15%概率丢失 | 50 | | T113 | WebSocket塔 | 全双工 | 同时攻击2目标 | 双向通信 | 51 | | T114 | 负载均衡塔 | 分发 | 分发伤害 | 分发伤害给周围塔+15%攻击力 | 51 | | T115 | 代理塔 | 代理 | 远程攻击 | 可代理其他塔攻击,扩展射程1 | 52 | | T116 | 网关塔 | 网关 | 单目标 | 20%概率完全格挡敌人攻击 | 52 | | T117 | CDN塔 | 分发网络 | 全图辅助 | 全图范围,所有塔+10%攻速 | 53 | | T118 | DNS塔 | 解析 | 辅助 | 全图揭示隐身敌人 | 53 | | T119 | 防火墙塔 | 安全 | 范围阻挡 | 阻挡敌人5秒 | 54 | | T120 | IDS塔 | 入侵检测 | 单目标 | 对Boss类敌人+50%伤害 | 54 | | T121 | 限流塔 | 限流 | 减速 | 减速敌人40%持续3秒 | 55 | | T122 | 断路器塔 | 熔断 | 单目标 | 敌人血量低于30%时造成双倍伤害 | 55 | | T123 | 重试塔 | 重试 | 单目标 | 攻击最多重试3次直到命中 | 56 | | T124 | 超时塔 | 超时 | 单目标 | 敌人在范围内超过5秒伤害翻倍 | 56 | | T125 | 健康检查塔 | 健康 | 辅助 | 每3秒恢复周围塔5点耐久 | 57 | | T126 | 服务发现塔 | 发现 | 辅助 | 击杀金币+20% | 57 | #### 第十部分:数据库高级类(18种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T127 | B树索引塔 | 索引 | 高攻速单体 | 攻速+100%,仅单体攻击 | 58 | | T128 | 主键塔 | 唯一 | 单目标 | 对满血敌人+50%伤害 | 58 | | T129 | 外键塔 | 关联 | 链接伤害 | 链接范围内敌人,一个受伤全部受伤 | 59 | | T130 | 复合索引塔 | 复合 | 条件伤害 | 每满足一个条件+30%伤害,最多3个 | 59 | | T131 | 全文索引塔 | 搜索 | 范围攻击 | 范围搜索攻击,命中区域内所有敌人 | 60 | | T132 | 事务塔 | 事务 | 稳定攻击 | 攻击要么全命中要么全不中 | 60 | | T133 | 隔离塔 | 隔离 | 单目标 | 被攻击的敌人无法回血 | 61 | | T134 | 持久化塔 | 持久 | 持续伤害 | 攻击附带持续伤害5点/秒持续5秒 | 61 | | T135 | 视图塔 | 视图 | 辅助 | 显示所有敌人血量信息 | 62 | | T136 | 存储过程塔 | 过程 | 蓄力爆发 | 存储3次攻击后同时释放 | 62 | | T137 | 触发器塔 | 触发 | 事件触发 | 敌人死亡或塔攻击时触发额外攻击 | 63 | | T138 | 物化视图塔 | 物化 | 缓存攻击 | 缓存最近5次攻击,可重放 | 63 | | T139 | 分区塔 | 分区 | 分散攻击 | 将伤害分成4份攻击不同敌人 | 64 | | T140 | 分片塔 | 分片 | 多区域攻击 | 攻击分成3片同时攻击多个区域 | 64 | | T141 | 副本塔 | 副本 | 复制攻击 | 创建自身50%属性的副本 | 65 | | T142 | 备份塔 | 备份 | 辅助 | 周围塔被摧毁时50%概率恢复 | 65 | | T143 | WAL塔 | 预写日志 | 双重攻击 | 先记录日志再攻击,日志造成额外10伤害 | 66 | | T144 | 查询优化器塔 | 优化 | 辅助 | 周围塔攻击力+25% | 66 | #### 第十一部分:AI/ML类(18种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T145 | 神经网络塔 | 神经网络 | 多层攻击 | 多层攻击每层+10伤害 | 67 | | T146 | 卷积网络塔 | 卷积 | 区域攻击 | 卷积攻击覆盖3x3区域 | 67 | | T147 | 循环网络塔 | 循环 | 记忆攻击 | 记住最近3次攻击,伤害叠加 | 68 | | T148 | LSTM塔 | 长短期记忆 | 记忆攻击 | 长期记忆5次攻击,20%遗忘率 | 68 | | T149 | 注意力塔 | 注意力 | 聚焦攻击 | 聚焦最强敌人+50%伤害 | 69 | | T150 | Transformer塔 | 变换器 | 多头攻击 | 4头注意力同时攻击4个目标 | 69 | | T151 | GAN塔 | 对抗生成 | 生成攻击 | 生成虚假塔吸引敌人火力 | 70 | | T152 | 强化学习塔 | 强化学习 | 成长攻击 | 每次击杀永久+2伤害 | 70 | | T153 | 决策树塔 | 决策树 | 分支攻击 | 分3路攻击不同属性敌人 | 71 | | T154 | 随机森林塔 | 随机森林 | 集成攻击 | 5棵决策树投票,伤害取平均+最高 | 71 | | T155 | SVM塔 | 支持向量 | 边界攻击 | 对边界敌人+50%伤害 | 72 | | T156 | KNN塔 | 近邻 | 最近攻击 | 攻击最近的3个敌人 | 72 | | T157 | 聚类塔 | 聚类 | 聚集攻击 | 对聚集在一起的敌人伤害+100% | 73 | | T158 | PCA塔 | 降维 | 减防攻击 | 降低敌人40%防御 | 73 | | T159 | 归一化塔 | 归一化 | 辅助 | 提升周围最低伤害塔150%攻击力 | 74 | | T160 | 嵌入塔 | 嵌入 | 标记攻击 | 标记敌人10秒,被标记者受到双倍伤害 | 74 | | T161 | 蒸馏塔 | 蒸馏 | 复制攻击 | 复制范围内最强塔50%属性 | 75 | | T162 | 元学习塔 | 元学习 | 学习攻击 | 每击杀一种敌人类型永久+10%伤害 | 75 | #### 第十二部分:终极塔类(18种) | 编号 | 塔名 | 概念 | 攻击方式 | 特殊效果 | 解锁 | |------|------|------|----------|----------|------| | T163 | 量子塔V2 | 量子 | 随机伤害 | 随机1-1000伤害 | 76 | | T164 | 混沌塔 | 混沌 | 随机效果 | 每次攻击附带随机效果 | 76 | | T165 | 熵增塔 | 熵 | 叠加减速 | 每次攻击使敌人减速+5%,可叠加 | 77 | | T166 | 黑洞塔 | 引力 | 持续吸引 | 吸引周围敌人并持续造成伤害 | 77 | | T167 | 白洞塔 | 排斥 | 范围排斥 | 排斥周围敌人并造成范围伤害 | 78 | | T168 | 时空塔 | 时空 | 范围减速 | 范围内敌人速度减半 | 78 | | T169 | 因果塔 | 因果 | 连锁攻击 | 攻击引发连锁因果,最多影响3个敌人 | 79 | | T170 | 并行塔V2 | 并行 | 多目标 | 同时攻击8个目标 | 79 | | T171 | 终极递归塔 | 递归 | 深度攻击 | 递归攻击5层,每层伤害x1.5 | 80 | | T172 | 自引用塔 | 自引用 | 成长攻击 | 每次攻击永久提升自身10%攻击力 | 80 | | T173 | 哥德尔塔 | 不完备 | 额外伤害 | 造成不可证明的额外50伤害 | 81 | | T174 | 图灵塔 | 可计算 | 模拟攻击 | 可模拟任何其他塔的攻击方式 | 81 | | T175 | 停机塔 | 停机 | 控制攻击 | 30%概率使敌人停机8秒 | 82 | | T176 | 贝叶斯塔 | 概率 | 暴击攻击 | 30%暴击率,暴击3倍伤害 | 82 | | T177 | 信息论塔 | 信息 | 信息伤害 | 基于敌人信息量造成伤害 | 83 | | T178 | 复杂度塔 | 复杂度 | 复杂伤害 | 对复杂敌人伤害x2 | 83 | | T179 | 哥德尔+塔 | 超不完备 | 超越伤害 | 超越无穷的攻击力 | 84 | | T180 | 造物主塔 | 创造 | 生成攻击 | 每30秒随机创建一座新塔 | 84 | ### Bug敌人系统(180种) 游戏包含 **180种敌人**,分为12大类别: #### 第一部分:基础Bug类(24种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E01 | 死循环 | 移动极慢,每2秒原地绕3圈 | while(true) {} | 1 | | E02 | 空指针 | 死亡分裂成2个(血量25%) | NullPointerException | 2 | | E03 | 数组越界 | 走到边缘瞬移到另一侧 | IndexOutOfBoundsException | 3 | | E04 | 内存泄漏 | 每格留下减速区域(-30%速度,5秒) | memory leak | 4 | | E05 | 递归溢出 | 每受攻击分裂一个复制体(血量50%) | StackOverflowError | 5 | | E06 | 拼写错误 | 隐身,仅条件/日志塔可见 | typo bug | 6 | | E07 | 并发冲突 | 两个并排时互相+20%移速 | race condition | 7 | | E08 | 死锁 | 移动中完全停止3秒,然后继续 | deadlock | 8 | | E09 | 精度丢失 | 浮点血量,伤害向下取整 | floating point error | 9 | | E10 | 未定义行为 | 每5秒随机变换特性 | undefined behavior | 10 | | E11 | 依赖地狱 | 死亡召唤随机敌人 | dependency hell | 11 | | E12 | 缓冲区溢出 | 死亡时周围2格塔受伤害 | buffer overflow | 11 | | E13 | 段错误 | 血量<30%时秒杀碰到的第一座塔 | segmentation fault | 12 | | E14 | 整数溢出 | 单次伤害>100时,血量回满 | integer overflow | 12 | | E15 | 数据竞争 | 两个以上时,移速攻速翻倍 | data race | 13 | | E16 | 资源泄漏 | 每路过一座塔,使其攻击力-5%(永久) | resource leak | 13 | | E17 | 逻辑错误 | 显示血量为实际值的50% | logic error | 14 | | E18 | 魔数 | 每受3次攻击,下一次伤害为0 | magic number | 14 | | E19 | 硬编码 | 免疫减速/控制 | hard code | 15 | | E20 | 单例滥用 | 全场只能存在1个,血量极高 | singleton abuse | 15 | | E21 | 回调地狱 | 死亡时连续3次召唤 | callback hell | 16 | | E22 | 技术债 | 每前进一格,全场塔攻速-1% | technical debt | 16 | | E23 | 幻数 | 每5秒完全恢复血量 | magic number(变种) | 17 | | E24 | 上帝对象 | 拥有所有基础Bug特性(随机触发) | god object | 隐藏关 | #### 第二部分:编译期Bug类(12种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E25 | 语法错误 | 出场时对全场塔造成"编译失败"(3秒无法攻击) | syntax error | 17 | | E26 | 未声明变量 | 出场时随机禁用一座塔5秒 | undeclared variable | 17 | | E27 | 类型不匹配 | 对攻击它的塔造成"类型转换异常"(攻速-50%3秒) | type mismatch | 18 | | E28 | 缺少分号 | 每走5格,使路径上所有塔"语句未结束"(暂停1秒) | missing semicolon | 18 | | E29 | 未初始化 | 出场时血量极低,但每过1秒血量翻倍 | uninitialized | 18 | | E30 | 函数未定义 | 免疫所有函数塔的攻击 | undefined function | 19 | | E31 | 头文件缺失 | 出场时复制身后最近敌人的特性 | missing include | 19 | | E32 | 链接错误 | 两个同时在场时,每个继承对方50%属性 | linker error | 19 | | E33 | 宏展开错误 | 每5秒随机变化外观(迷惑玩家) | macro error | 20 | | E34 | 模板错误 | 受到伤害时,伤害类型随机变化 | template error | 20 | | E35 | 重定义 | 死亡时,场上所有同名敌人恢复满血 | redefinition | 20 | | E36 | 编译死循环 | 在起点处停留10秒,期间不断召唤低级Bug | compilation hang | 21 | #### 第三部分:运行时Bug类(12种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E37 | 除零异常 | 攻击它的塔有10%概率被"除以零"(眩晕1秒) | divide by zero | 21 | | E38 | 类型转换错误 | 每受一次攻击,变换一种护甲类型(物理/魔法/真实) | class cast | 21 | | E39 | 下标越界 | 每3秒随机瞬移到路径上任一位置 | subscript out of range | 22 | | E40 | 空栈异常 | 死亡时弹出(召唤)一个之前死亡的敌人 | empty stack | 22 | | E41 | 非法参数 | 接触塔时,使该塔的目标选择逻辑随机化5秒 | illegal argument | 22 | | E42 | IO异常 | 每10秒使全场塔的显示信息错乱(迷惑) | IO exception | 23 | | E43 | interrupted | 被攻击时有20%概率打断塔的当前攻击动作 | interrupted | 23 | | E44 | 超时异常 | 在场上存活超过30秒后,移速翻倍 | timeout | 23 | | E45 | 安全异常 | 免疫所有单元测试塔的攻击 | security exception | 24 | | E46 | 格式异常 | 每5秒改变自己的名字和显示血量(迷惑) | format exception | 24 | | E47 | 断言失败 | 血量低于20%时,对周围塔造成"断言错误"(眩晕2秒) | assertion failed | 24 | | E48 | 未知异常 | 死亡时触发随机一种负面效果 | unknown exception | 25 | #### 第四部分:架构级Bug类(12种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E49 | 循环依赖 | 两个同时在场时,互为不死(必须同时击杀) | circular dependency | 25 | | E50 | 紧耦合 | 每前进一格,相邻敌人攻击力+10% | tight coupling | 25 | | E51 | 低内聚 | 死亡时,向周围4个方向各发射一个子弹 | low cohesion | 26 | | E52 | 钻石问题 | 死亡时分裂成两个不同类型的敌人 | diamond problem | 26 | | E53 | 特性漂移 | 每过5秒,移速和血量随机交换一次 | feature creep | 26 | | E54 | 过早优化 | 出场时移速极快,每10秒减速20% | premature optimization | 27 | | E55 | 魔法字符串 | 每10秒随机改变自己的特性(从E01-E12中选) | magic string | 27 | | E56 | 霰弹式修改 | 每走5格,随机修改一座塔的攻击力±20% | shotgun surgery | 27 | | E57 | 平行继承 | 死亡时,在路径两侧各生成一个分身 | parallel inheritance | 28 | | E58 | 组合爆炸 | 每受一次攻击,分裂出两个不同的低级敌人 | combinatorial explosion | 28 | | E59 | 内部泄露 | 每走一格,偷取玩家1金币 | internal leak | 28 | | E60 | 架构腐化 | 每30秒,全场塔售价永久+5% | architecture decay | 29 | #### 第五部分:并发与性能Bug类(12种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E61 | 活锁 | 两个在场时,互相让路(来回移动,不进反退) | livelock | 29 | | E62 | 线程饥饿 | 每10秒,随机一座塔被"饿死"(停止攻击3秒) | thread starvation | 29 | | E63 | 优先级反转 | 出场时锁定场上攻击力最高的塔5秒 | priority inversion | 30 | | E64 | 虚假唤醒 | 被攻击时,有20%概率立即恢复所有血量 | spurious wakeup | 30 | | E65 | 内存颠簸 | 每走一格,使全场塔攻速-2%,持续3秒(可叠加) | thrashing | 30 | | E66 | 缓存伪共享 | 两个相邻时,互相免疫30%伤害 | false sharing | 31 | | E67 | 指令重排 | 每5秒瞬移到随机位置(路径上任意点) | instruction reordering | 31 | | E68 | 可见性问题 | 隐身,只有高级塔(T22+)能看见 | visibility problem | 31 | | E69 | ABA问题 | 死亡时,恢复场上最早一个敌人的满血 | ABA problem | 32 | | E70 | 锁竞争 | 周围2格内的塔攻速-40% | lock contention | 32 | | E71 | 尾延迟 | 每30秒,随机一座塔的攻击延迟增加2秒 | tail latency | 32 | | E72 | 惊群效应 | 死亡时,全场塔眩晕0.5秒 | thundering herd | 33 | #### 第六部分:安全与网络Bug类(12种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E73 | SQL注入 | 接触塔时,偷取该塔50%的金币价值 | SQL injection | 33 | | E74 | XSS攻击 | 每10秒,随机改变一座塔的攻击目标(攻击友军)3秒 | cross-site scripting | 33 | | E75 | CSRF | 每5秒,随机重置一座塔的升级状态 | CSRF | 34 | | E76 | 缓冲区读取 | 每走一格,随机暴露一座塔的位置(该塔被集火) | buffer over-read | 34 | | E77 | 整数下溢 | 血量低于10%时,瞬间回满(只能秒杀) | integer underflow | 34 | | E78 | 权限提升 | 每击杀一座塔,自身等级提升(移速+10%,攻速+10%) | privilege escalation | 35 | | E79 | 拒绝服务 | 每10秒,全场塔停止攻击1秒 | DoS attack | 35 | | E80 | 中间人 | 两个在场时,互相传递伤害(伤害在两者间分摊) | MITM attack | 35 | | E81 | 重放攻击 | 死亡时,复制自己5秒前的状态(复活) | replay attack | 36 | | E82 | 旁路攻击 | 无视路径,直线走向终点(穿墙) | side-channel | 36 | | E83 | 钓鱼 | 伪装成金币(走近才发现是敌人),靠近塔时爆炸 | phishing | 36 | | E84 | 勒索软件 | 接触终点时,扣除玩家50%金币 | ransomware | 37 | #### 第七部分:AI与数据Bug类(12种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E85 | 过拟合 | 免疫上一次击杀它的塔类型 | overfitting | 37 | | E86 | 欠拟合 | 特性每5秒随机变化(无法预测) | underfitting | 37 | | E87 | 梯度消失 | 每受一次攻击,下次受到的伤害减半(递减) | vanishing gradient | 38 | | E88 | 梯度爆炸 | 每受一次攻击,下次受到的伤害翻倍(递增) | exploding gradient | 38 | | E89 | 模式崩溃 | 全场只能存在一种类型的敌人(其他死亡时转化为同类型) | mode collapse | 38 | | E90 | 数据泄露 | 出场时,显示玩家手牌(塔的布局) | data leakage | 39 | | E91 | 样本偏差 | 每10秒,随机免疫一种伤害类型 | sampling bias | 39 | | E92 | 冷启动 | 出场时极弱,但每5秒增强10% | cold start | 39 | | E93 | 灾难性遗忘 | 每30秒,随机忘记(删除)玩家一座塔的升级 | catastrophic forgetting | 40 | | E94 | 黑盒攻击 | 隐身且无法被锁定,只有范围伤害能击中 | black box attack | 40 | | E95 | 对抗样本 | 外观随机变化,每次攻击时有30%概率miss | adversarial example | 40 | | E96 | 数据污染 | 出场时,随机污染一座塔的数据(攻速/伤害随机变化) | data poisoning | 41 | #### 第八部分:Boss与传奇Bug类(12种) | 编号 | 敌人名称 | 特性 | 出现关卡 | |------|----------|------|----------| | E97 | 遗留系统 | 超大血量,每损失25%召唤一波(6个基础Bug) | 41 | | E98 | 祖传代码 | 隐身+每30秒满血+无注释(不可见特性说明) | 隐藏关H1 | | E99 | 大教堂 | 占据3x3格子,每10秒散射子弹攻击塔 | 隐藏关H2 | | E100 | 奇点 | 每损失10%血量,全场随机负面效果 | 最终隐藏关 | | E101 | 外包项目 | 死亡时在起点处生成3个随机Bug | 42 | | E102 | 996Bug | 出场时所有塔攻速-20%,持续到该敌人死亡 | 43 | | E103 | 敏捷陷阱 | 每20秒,随机交换玩家两座塔的位置 | 44 | | E104 | 瀑布尸体 | 死亡时,路径上所有塔受到"文档缺失"效果(眩晕2秒) | 45 | | E105 | DevOps恶魔 | 每15秒,部署一个持续5秒的光环(塔伤害-30%) | 46 | | E106 | 微服务怪兽 | 分裂成5个小分身,分别走不同路径 | 47 | | E107 | 单体地狱 | 体型巨大,占据整个路径宽度,血量极高 | 48 | | E108 | 最终Boss:The Bug | 拥有所有Bug类型的特性(每10秒切换一种) | 最终关 | #### 第九部分:网络与通信Bug类(18种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E109 | 丢包 | 每5格30%概率瞬移2格 | packet loss | 49 | | E110 | 延迟抖动 | 速度随机波动 | latency jitter | 49 | | E111 | TCP重传 | 死亡后在起点复活一次(50%血量) | TCP retransmission | 50 | | E112 | 拥塞控制 | 附近同类越多越强 | congestion control | 50 | | E113 | DNS解析失败 | 只能被DNS/服务发现塔有效攻击 | DNS failed | 51 | | E114 | 连接超时 | 存活越久移速越快 | connection timeout | 51 | | E115 | 握手失败 | 首次被攻击免疫 | handshake failed | 52 | | E116 | 证书过期 | 只能被HTTPS/加密塔有效攻击 | certificate expired | 52 | | E117 | 跨域错误 | 只能被同类塔攻击 | CORS error | 53 | | E118 | 负载均衡 | 附近敌人越多受到伤害越低 | load balancing | 53 | | E119 | 性能退化 | 越慢越强 | degradation | 54 | | E120 | 断路器 | 血量越低移速越慢 | circuit breaker | 54 | | E121 | 重试风暴 | 死亡时附近敌人加速 | retry storm | 55 | | E122 | 背压 | 附近敌人越多自身越慢 | backpressure | 55 | | E123 | 脑裂 | 死亡分裂成两个互相敌对的分身 | split brain | 56 | | E124 | 日志爆炸 | 死亡时造成范围伤害 | log explosion | 56 | | E125 | 配置漂移 | 属性随机变化 | config drift | 57 | | E126 | 版本不匹配 | 受到伤害随机翻倍或减半 | version mismatch | 57 | #### 第十部分:数据库Bug类(18种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E127 | 数据库死锁 | 两个在一起时完全停止 | DB deadlock | 58 | | E128 | 慢查询 | 存活越久移速越快 | slow query | 58 | | E129 | 索引失效 | 降低周围塔攻击力 | index failed | 59 | | E130 | 锁等待 | 附近同类越多越慢 | lock wait | 59 | | E131 | 脏读 | 20%概率回血 | dirty read | 60 | | E132 | 不可重复读 | 属性随机变化 | non-repeatable read | 60 | | E133 | 幻读 | 死亡产生幻影敌人 | phantom read | 61 | | E134 | 更新丢失 | 降低周围塔防御 | lost update | 61 | | E135 | 主键冲突 | 受到伤害+50% | primary key conflict | 62 | | E136 | 外键约束 | 阻止周围敌人前进 | foreign key constraint | 62 | | E137 | 唯一索引 | 同类型只有1个能动 | unique index | 63 | | E138 | 连接泄漏 | 持续削弱周围塔 | connection leak | 63 | | E139 | 缓冲池污染 | 降低周围塔攻速 | buffer pool pollution | 64 | | E140 | WAL爆炸 | 死亡时范围伤害 | WAL explosion | 64 | | E141 | 检查点风暴 | 定期无敌 | checkpoint storm | 65 | | E142 | 复制延迟 | 存活越久越强(Boss) | replication lag | 65 | | E143 | 数据库脑裂 | 死亡分裂 | DB split brain | 66 | | E144 | 数据倾斜 | 附近敌人越多越难杀 | data skew | 66 | #### 第十一部分:AI/ML Bug类(18种) | 编号 | 敌人名称 | 特性 | 程序员梗 | 解锁 | |------|----------|------|----------|------| | E145 | 过拟合V2 | 免疫最后杀死它的塔类型 | overfitting V2 | 67 | | E146 | 欠拟合V2 | 受到伤害-30% | underfitting V2 | 67 | | E147 | 梯度消失V2 | 远处塔伤害降低 | vanishing gradient V2 | 68 | | E148 | 梯度爆炸V2 | 每受攻击伤害递增 | exploding gradient V2 | 68 | | E149 | 模式崩塌 | 吸引附近敌人 | mode collapse | 69 | | E150 | 灾难性遗忘V2 | 降低周围塔等级 | catastrophic forgetting V2 | 69 | | E151 | 对抗攻击 | 25%概率闪避攻击 | adversarial attack | 70 | | E152 | 数据泄露V2 | 死亡暴露塔信息 | data leakage V2 | 70 | | E153 | 采样偏差V2 | 吸引最近塔攻击 | sampling bias V2 | 71 | | E154 | 冷启动V2 | 首次被某类塔攻击免疫 | cold start V2 | 71 | | E155 | 奖励黑客 | 靠近终点获得金币 | reward hacking | 72 | | E156 | 概念漂移 | 属性随时间变化 | concept drift | 72 | | E157 | 黑盒攻击V2 | 被攻击时反弹伤害 | black box attack V2 | 73 | | E158 | 成员推断 | 被攻击后隐身 | membership inference | 73 | | E159 | 模型窃取 | 复制塔的能力 | model stealing | 74 | | E160 | 后门攻击 | 低血量时爆发 | backdoor attack | 74 | | E161 | 数据投毒V2 | 死亡污染周围区域 | data poisoning V2 | 75 | | E162 | 幻觉 | 随机生成虚假敌人(Boss) | hallucination | 75 | #### 第十二部分:终极Boss类(18种) | 编号 | 敌人名称 | 特性 | 出现关卡 | |------|----------|------|----------| | E163 | 混沌之神 | 每10秒随机全局负面效果(Boss) | 82 | | E164 | 熵增恶魔 | 持续降低周围塔攻击力 | 82 | | E165 | 冗余之王 | 超高血量高护甲(Boss) | 83 | | E166 | 技术债龙 | 越久越强(Boss) | 83 | | E167 | 架构腐化者 | 降低周围塔防御 | 84 | | E168 | 遗留系统泰坦 | 超高血量(Boss) | 84 | | E169 | 微服务怪兽V2 | 每20%血召唤援军(Boss) | 85 | | E170 | 单体地狱V2 | 越大越慢越强(Boss) | 85 | | E171 | 依赖地狱之王 | 禁用随机塔 | 86 | | E172 | 并发恶魔 | 同屏越多越强 | 86 | | E173 | 缓存一致性龙 | 周期性清除增益(Boss) | 87 | | E174 | 最终一致性幽灵 | 延迟受到伤害 | 87 | | E175 | CAP恶魔 | 三属性循环切换(Boss) | 88 | | E176 | ACID野兽 | 每秒回血但受伤+50% | 88 | | E177 | BASE巨人 | 越高越慢但越强 | 89 | | E178 | 硅基之神 | 每15秒随机禁用塔类型(Boss) | 89 | | E179 | 机器之心 | 所有Bug回血 | 90 | | E180 | 奇点V2 | 每5%血量触发大灭绝事件(最终Boss) | 90 | ### 技能系统(10种主动技能) 玩家可携带3个主动技能,消耗法力值释放: | 技能 | 效果 | 冷却 | 解锁 | |------|------|------|------| | 代码补全 | 随机升级一座塔 | 30秒 | 5关 | | 快速修复 | 恢复一座塔50%血量 | 20秒 | 10关 | | 调试模式 | 全场敌人减速50%5秒 | 40秒 | 15关 | | 代码重构 | 重置所有塔的位置(可重新放置) | 60秒 | 20关 | | 单元测试 | 秒杀一个非Boss敌人 | 45秒 | 25关 | | 回滚 | 回到10秒前的状态 | 90秒 | 30关 | | 性能分析 | 显示敌人弱点,伤害+50%10秒 | 35秒 | 35关 | | 热修复 | 全场塔免疫控制10秒 | 50秒 | 40关 | | 自动化 | 自动建造最优塔(AI辅助) | 120秒 | 45关 | | 神级编程 | 全场塔攻速翻倍15秒 | 100秒 | 48关 | ### 符文系统(9种) 玩家可镶嵌3个符文,每个符文提供被动加成: | 符文 | 效果 | 获取方式 | |------|------|----------| | 效率符文 | 塔售价-10% | 通关10关 | | 力量符文 | 塔伤害+10% | 通关20关 | | 速度符文 | 塔攻速+10% | 通关30关 | | 财富符文 | 金币获取+20% | 通关40关 | | 经验符文 | 天赋点获取+1 | 通关48关 | | 幸运符文 | 暴击率+15% | 隐藏关H1 | | 耐久符文 | 塔血量+30% | 隐藏关H2 | | 智慧符文 | 技能冷却-15% | 隐藏关H3 | | 传奇符文 | 所有属性+5% | 最终隐藏关 | ### 挑战模式(每日/每周) **每日挑战:** - 每天随机生成一个特殊关卡 - 规则随机(如只能用某类塔、敌人速度加倍等) **每周挑战:** - 每周一个高难度挑战 - Boss Rush、极限生存、特定塔挑战等 ### 新增系统 #### 塔进化系统 当塔达到Lv3且击杀足够数量的敌人后,可进化为更高级的形态: | 基础塔 | 进化条件 | 进化形态 | 效果 | |--------|----------|----------|------| | 变量塔 | Lv3 + 50击杀 | 全局变量 | 属性共享给周围塔 | | 数组塔 | Lv3 + 30击杀 | 动态数组 | 目标数随击杀增长 | | 循环塔 | Lv3 + 40击杀 | 无限循环 | 爆发次数无限 | | 条件塔 | Lv3 + 35击杀 | 智能条件 | 自动选择最优目标 | | 函数塔 | Lv3 + 45击杀 | Lambda | 内联攻击无延迟 | | 递归塔 | Lv3 + 60击杀 | 尾递归 | 不会栈溢出 | | 类塔 | Lv3 + 50击杀 | 抽象类 | 模板方法攻击 | | 指针塔 | Lv3 + 55击杀 | 智能指针 | 自动管理攻击目标 | #### 代码片段系统 每关开始前可选择最多3个代码片段,提供全局增益: | 片段 | 效果 | 解锁关卡 | |------|------|----------| | `#pragma optimize` | 所有塔攻速+10% | 10 | | `#define GOLD 1.5` | 击杀金币+50% | 15 | | `inline function` | 所有塔攻击间隔-15% | 20 | | `constexpr damage` | 所有塔伤害+20% | 25 | | `static_assert(range)` | 所有塔射程+1 | 30 | | `template specialization` | 所有塔暴击率+10% | 35 | | `noexcept` | 塔不受减速效果影响 | 40 | | `constexpr range++` | 所有塔射程+2 | 45 | | `[[nodiscard]]` | 击杀金币+30% | 50 | | `concept Tower` | 所有塔伤害+30% | 55 | | `co_await attack()` | 所有塔攻速+25% | 60 | | `import defense;` | 所有塔全属性+15% | 70 | #### 环境变量系统 每关开始前可选择环境变量,每个变量带来一个负面效果但提高奖励倍率: | 环境变量 | 效果 | 惩罚 | 奖励倍率 | |----------|------|------|----------| | `DEBUG=1` | 显示塔详细信息 | 攻速-10% | x1.2 | | `VERBOSE=true` | 显示敌人详细信息 | 伤害-10% | x1.2 | | `STRICT_MODE=1` | 塔不会Miss | 塔价格+20% | x1.3 | | `NODE_ENV=production` | 隐藏技能冷却显示 | 技能冷却+50% | x1.4 | | `UNSAFE_MODE=1` | 塔伤害x2 | 塔血量-30% | x1.5 | | `O3_OPTIMIZE=1` | 塔攻速x1.5 | 射程-1 | x1.3 | | `THREAD_COUNT=4` | 塔额外攻击1个目标 | 伤害-20% | x1.4 | | `CACHE_SIZE=unlimited` | 塔无需装填 | 价格+30% | x1.3 | | `ASYNC_IO=1` | 塔攻速+40% | 命中率-15% | x1.4 | | `DOCKER_BUILD=1` | 塔自带护盾 | 升级价格+50% | x1.5 | ### 关卡系统(84关) #### 普通关卡(48关) | 区间 | 关卡 | 主题 | 可用塔范围 | 特殊机制 | Boss | |------|------|------|------------|----------|------| | 新手区 | 1-8 | 基础语法 | T01-T08 | 无 | 第8关:死循环之王(E01变种) | | 进阶区 | 9-16 | 高级语法 | T01-T16 | 塔位限制 | 第16关:递归恶魔(E05强化) | | 中级区 | 17-24 | 数据结构 | T01-T24 | 敌人隐身波次 | 第24关:内存吞噬者(E04+E16) | | 高级区 | 25-32 | 并发编程 | T01-T36 | 多路径 | 第32关:并发四骑士(E07,E15,E61,E62) | | 专家区 | 33-40 | 架构设计 | T01-T48 | 塔售价波动 | 第40关:架构腐化(E60) | | 大师区 | 41-48 | 综合挑战 | T01-T72 | 随机禁塔 | 第48关:单体地狱(E107) | #### 隐藏关卡(12个) | 编号 | 名称 | 解锁条件 | 特殊规则 | 奖励 | |------|------|----------|----------|------| | H1 | 祖传代码 | 无伤通关41-48任意一关 | 所有塔的说明隐藏(盲打) | T28,T29,T30 | | H2 | 大教堂 | 累计击杀10000敌人 | 地图3条路径,敌人三路进攻 | T61-T72 | | H3 | 混沌模式 | 通关H1+H2 | 塔售价随机波动±50% | T73-T84 | | H4 | 只有变量 | 使用少于5种塔通关任意15关 | 只能使用T01,可放20座 | 天赋点x5 | | H5 | 程序员节 | 10月24日当天登录 | 所有塔售价-50% | 特殊皮肤 | | H6 | 午夜编码 | 凌晨0-4点进入 | 全场塔攻速+30% | 成就 | | H7 | 代码审查 | 连续3关无塔被摧毁 | 塔被摧毁时永久损失 | T85-T96 | | H8 | 极限编程 | 30秒内完成一波 | 时间限制 | T97-T108 | | H9 | 结对编程 | 双人模式(需要合作) | 两人各控制一半塔 | 合作成就 | | H10 | 重构日 | 出售10座塔后解锁 | 塔售价返还100% | 金币x2 | | H11 | 面试关 | 回答编程问题正确 | 塔防+答题混合 | 特殊塔 | | H12 | 最终Boss | 通关所有普通+隐藏 | 连续10波Boss战 | 全成就 | #### 新增区域:网络与通信(55-63关) | 关卡 | 名称 | 主题 | Boss | |------|------|------|------| | 55 | 丢包风暴 | 网络层Bug入侵 | - | | 56 | 连接超时 | 连接层问题 | - | | 57 | 跨域封锁 | 跨域错误 | - | | 58 | 熔断风暴 | 断路器和重试 | - | | 59 | 脑裂危机 | 脑裂和配置漂移 | - | | 60 | 网络Boss | 协议之王 | 拥塞控制之王 | | 61 | 防火墙试炼 | 纯网络塔挑战 | - | | 62 | 限流迷宫 | 复杂路径挑战 | - | | 63 | 协议终结者 | 网络区域最终挑战 | - | #### 新增区域:数据库(64-72关) | 关卡 | 名称 | 主题 | Boss | |------|------|------|------| | 64 | 死锁迷宫 | 数据库Bug来袭 | - | | 65 | 读写异常 | 脏读、幻读 | - | | 66 | 锁竞争 | 锁等待和更新丢失 | - | | 67 | 约束危机 | 外键约束问题 | - | | 68 | 缓冲池污染 | 缓冲池和WAL | - | | 69 | 数据Boss | 分库分表之王 | 复制延迟之王 | | 70 | 事务试炼 | 纯数据库塔挑战 | - | | 71 | 数据倾斜 | 数据分布不均 | - | | 72 | 数据库终结者 | 数据库最终挑战 | - | #### 新增区域:AI/ML(73-81关) | 关卡 | 名称 | 主题 | Boss | |------|------|------|------| | 73 | 过拟合陷阱 | AI Bug入侵 | - | | 74 | 梯度爆炸 | 梯度和模式崩塌 | - | | 75 | 对抗攻击 | 对抗样本和数据泄露 | - | | 76 | 冷启动困境 | 冷启动和奖励黑客 | - | | 77 | 模型窃取 | 模型安全攻击 | - | | 78 | AIBoss | 幻觉之王 | 幻觉之王 | | 79 | 深度学习试炼 | 纯AI塔挑战 | - | | 80 | 数据投毒 | 数据质量攻击 | - | | 81 | AI终结者 | AI区域最终挑战 | - | #### 新增区域:终极挑战(82-90关) | 关卡 | 名称 | 主题 | Boss | |------|------|------|------| | 82 | 混沌之门 | 终极Bug入侵 | 混沌之神 | | 83 | 技术债深渊 | 技术债和架构腐化 | 技术债龙 | | 84 | 微服务地狱 | 微服务架构噩梦 | 微服务怪兽V2 | | 85 | 并发噩梦 | 并发和一致性 | 缓存一致性龙 | | 86 | CAP定理 | CAP和BASE理论 | CAP恶魔 | | 87 | 硅基之神 | 硬件层威胁 | 硅基之神 | | 88 | 终极试炼 | 所有塔挑战 | - | | 89 | 奇点前夜 | 最终Boss前准备 | - | | 90 | 奇点降临 | 最终Boss战 | 奇点V2 | ### 游戏机制 #### 伤害类型系统 游戏包含4种伤害类型: - **物理伤害**:被幽灵代码免疫 - **魔法伤害**:对幽灵代码有效 - **真实伤害**:无视所有减免 - **普通伤害**:默认类型 #### 塔升级系统 - 每座塔可升至3级 - Lv2:攻击力+50% - Lv3:特殊效果增强(如数组塔可攻击5个目标) #### 塔HP与状态系统 - 塔拥有独立HP,可被特定Boss和精英怪攻击 - 塔可被禁用(反编译)、降低命中率(代码混淆) - Git塔被摧毁时可自动回滚重生 #### 敌人标记系统 - SQL注入塔可标记敌人 - 被标记的敌人受到额外50%伤害 ### 操作方式 1. **选择防御塔**:点击右侧面板中的塔按钮 2. **放置防御塔**:点击地图上的空格放置(绿色=可放置,红色=不可放置) 3. **升级防御塔**:点击已放置的塔,点击升级按钮 4. **出售防御塔**:点击已放置的塔,点击出售按钮返还部分费用 5. **取消选择**:右键点击或按ESC键 6. **查看范围**:点击已放置的塔可查看攻击范围 7. **使用技能**:按数字键1-3或点击底部技能栏使用技能 8. **打开菜单**:点击技能/符文/挑战按钮打开对应菜单 ## 技术栈 - 纯原生 JavaScript(ES6 Class) - HTML5 Canvas 渲染 - 无需任何框架或构建工具 ## 项目结构 ``` Code Defense/ ├── index.html # 游戏主页面 ├── css/ │ └── style.css # 样式文件 └── js/ ├── config.js # 游戏配置(180种塔、180种敌人、84关、技能、符文、挑战、进化、代码片段、环境变量) ├── utils.js # 工具函数 ├── map.js # 地图与路径生成 ├── enemy.js # 敌人逻辑(180种Bug + Boss) ├── tower.js # 防御塔逻辑(180种塔 + 升级 + 组合技 + 进化) ├── projectile.js # 子弹逻辑(支持4种伤害类型) ├── wave.js # 波次管理 ├── skill.js # 技能、符文、挑战系统 ├── renderer.js # 渲染器 ├── ui.js # UI管理(含天赋界面、技能菜单、符文菜单、挑战菜单、关前选择面板) └── main.js # 游戏主循环(含天赋系统、进度存档、进化系统、代码片段系统、环境变量系统) ``` ## 许可证 MIT License