Skip to content

DynamicItem

动态难度数组中的单个动态难度项,定义随游戏进程变化的难度配置。

结构定义

typescript
interface DynamicItem {
  PointIncrementPerWave: number;  // 每波点数增长值
  StartingPoint: number;          // 开始点数值
  StartingWave: number;           // 开始动态难度波次
  ZombiePool: string[];           // 动态难度僵尸池
}

字段说明

PointIncrementPerWave

number

当波次到达StartingWave后,每波增长的点数值。点数全程不减,会持续累积。

StartingPoint

number

当波次到达StartingWave时的开始点数值,作为动态难度系统的基础点数。

StartingWave

number

开始动态难度的波次编号,从此波开始应用动态难度规则。

ZombiePool

string[]

僵尸池数组,填入可用于动态难度的僵尸卡牌名称列表。

使用示例

基础动态难度

json
{
  "PointIncrementPerWave": 10,
  "StartingPoint": 50,
  "StartingWave": 5,
  "ZombiePool": ["BasicZombie", "ConeZombie", "BucketZombie"]
}

高难度配置

json
{
  "PointIncrementPerWave": 25,
  "StartingPoint": 100,
  "StartingWave": 3,
  "ZombiePool": ["ConeZombie", "BucketZombie", "FootballZombie", "DancingZombie"]
}

晚期难度增长

json
{
  "PointIncrementPerWave": 50,
  "StartingPoint": 200,
  "StartingWave": 15,
  "ZombiePool": ["FootballZombie", "DancingZombie", "BackupDancer", "PolevaultZombie"]
}

工作原理

动态难度系统:

  1. 在第StartingWave波开始时,设置基础点数为StartingPoint
  2. 从第StartingWave + 1波开始,每波增加PointIncrementPerWave点数
  3. 使用累积的点数从ZombiePool中选择合适的僵尸组合
  4. 点数只增不减,难度持续上升

注意事项

  • 当前状态:游戏内暂未添加动态难度功能,此配置暂时无实际作用
  • 点数增长应该合理,避免难度曲线过于陡峭
  • 僵尸池应包含不同难度等级的僵尸
  • StartingWave不应设置得太早,给玩家适应时间