# 敌人配置工具使用说明 ## 概述 本配置工具已成功增强,现在支持将Excel/CSV格式的敌人数据转换为包含完整嵌套结构的JSON配置文件。工具能够自动识别不同敌人类型并生成相应的特殊配置。 ## 功能特性 ### ✅ 已实现功能 1. **基础配置转换** - 敌人基本属性(ID、名称、类型、稀有度等) - 统计数据(生命值、攻击力、防御力、速度等) - 移动配置(移动模式、巡逻范围、追击范围等) - 战斗配置(攻击范围、攻击速度、格挡机制等) - 视觉配置(精灵路径、缩放、动画等) - 音频配置(攻击音效、死亡音效等) 2. **特殊敌人类型支持** - **隐身僵尸** (`stealth_zombie`): 隐身配置和特殊能力 - **铁桶僵尸** (`bucket_zombie`): 护甲配置和格挡机制 - **火药桶僵尸** (`explosive_zombie`): 爆炸配置和伤害范围 - **远程敌人** (`ranged_enemy`): 远程攻击配置和弹道设置 - **BOSS敌人** (`boss1/boss2/boss3`): BOSS配置和多阶段能力 3. **自动配置生成** - 根据敌人类型自动添加相应的特殊配置 - 智能生成特殊能力列表 - 自动计算攻击冷却时间等衍生属性 ## CSV文件格式 ### 必需字段 ```csv id,name,type,rarity,weight,health,speed,attack,range,attackSpeed,defense,goldReward ``` ### 可选字段(根据敌人类型) ```csv # 格挡相关 canBlock,blockChance,blockDamageReduction # 移动相关 movementPattern,patrolRange,chaseRange # 视觉相关 spritePath,scale,attackSound,deathSound # 隐身僵尸专用 stealthDuration,stealthCooldown,stealthAlpha # 铁桶僵尸专用 armorHealth,armorDefense # 火药桶僵尸专用 explosionDamage,explosionRadius # 远程敌人专用 projectileSpeed # BOSS专用 chargeDamage,chargeRange ``` ## 使用方法 ### 方法一:直接运行配置管理器 ```bash cd "d:\CocosGame\Pong\assets\resources\data\excel" python config_manager.py ``` ### 方法二:使用测试脚本验证 ```bash cd "d:\CocosGame\Pong\assets\resources\data\excel" python test_csv_import.py ``` ### 方法三:编程方式调用 ```python from config_manager import ConfigManagerGUI # 创建配置管理器 config_manager = ConfigManagerGUI() # 转换单个敌人数据 enemy_data = { 'id': 'test_zombie', 'name': '测试僵尸', 'type': 'normal_zombie', # ... 其他字段 } converted = config_manager._convert_enemy_data(enemy_data) ``` ## 输出结构示例 ### 普通僵尸 ```json { "id": "normal_zombie", "name": "普通僵尸", "type": "normal_zombie", "rarity": "common", "weight": 30.0, "stats": { "health": 100.0, "maxHealth": 100.0, "attack": 15.0, "defense": 0.0, "speed": 50.0, "goldReward": 10.0 }, "movement": { "pattern": "direct", "speed": 50.0, "patrolRange": "100", "chaseRange": "200", "rotationSpeed": 180 }, "combat": { "attackDamage": 15.0, "attackRange": 80.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": "0.0", "blockDamageReduction": "0.5", "attackCooldown": 1.0 }, "visualConfig": { "spritePath": "enemies/normal_zombie", "scale": "1.0", "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "zombie_attack", "deathSound": "zombie_death", "hitSound": "enemy_hit", "volume": 1.0 } } ``` ### 隐身僵尸(包含特殊配置) ```json { // ... 基础配置 ... "stealthConfig": { "canStealth": true, "stealthDuration": "3.0", "stealthCooldown": "8.0", "stealthAlpha": "0.3" }, "specialAbilities": [ { "type": "stealth", "duration": "3.0", "cooldown": "8.0", "alpha": "0.3" } ] } ``` ### BOSS(包含完整特殊配置) ```json { // ... 基础配置 ... "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 }, "specialAbilities": [ { "type": "charge_attack", "damage": "180", "range": "200", "cooldown": 8.0 }, { "type": "area_attack", "damage": 135.0, "radius": 100, "cooldown": 12.0 } ] } ``` ## 测试验证 工具已通过完整测试,成功转换了14种不同类型的敌人配置: - **类型分布**: normal_zombie(2), stealth_zombie(2), bucket_zombie(2), explosive_zombie(2), ranged_enemy(3), boss1(1), boss2(1), boss3(1) - **稀有度分布**: common(2), uncommon(2), rare(5), epic(4), legendary(1) - **特殊配置**: stealth(2), armor(2), explosive(2), ranged(3), boss(3) ## 文件说明 - `config_manager.py`: 主配置工具,包含增强的转换逻辑 - `敌人配置示例.csv`: 完整的CSV示例文件 - `test_csv_import.py`: 测试脚本,验证转换功能 - `csv_import_result.json`: 测试结果文件 - `敌人配置导入指南.md`: 详细的字段说明文档 ## 注意事项 1. **数据类型**: 确保数值字段使用正确的数据类型(整数/浮点数) 2. **必需字段**: 基础字段(id, name, type等)必须提供 3. **特殊字段**: 根据敌人类型提供相应的特殊字段 4. **文件编码**: CSV文件建议使用UTF-8编码 5. **路径格式**: 资源路径使用相对路径格式 ## 故障排除 如果遇到转换问题: 1. 检查CSV文件格式和编码 2. 确认必需字段是否完整 3. 验证数值字段的数据类型 4. 查看控制台输出的错误信息 5. 使用测试脚本进行调试 --- **配置工具版本**: 2.0 **最后更新**: 2024年1月 **支持的敌人类型**: 8种(普通、隐身、铁桶、火药桶、远程、BOSS1-3)