#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 直接生成enemies.json文件的脚本 """ import sys import os import json from pathlib import Path # 添加当前目录到Python路径 sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from config_manager import ConfigManagerGUI def generate_enemies_json(): """直接生成enemies.json文件""" try: print("开始生成enemies.json文件...") # 创建配置管理器实例 config_manager = ConfigManagerGUI() # 设置文件路径 excel_file = "D:/CocosGame/Pong/assets/resources/data/excel/敌人配置表.xlsx" json_output = "D:/CocosGame/Pong/assets/resources/data/enemies.json" print(f"Excel文件: {excel_file}") print(f"输出文件: {json_output}") # 读取Excel配置 config_data = config_manager.read_excel_config(excel_file) if not config_data: print("❌ 无法读取Excel配置数据") return False print(f"✅ 成功读取配置数据,包含 {len(config_data)} 个工作表") # 解析敌人多工作表数据 filename = Path(excel_file).stem enemies_data = config_manager.parse_enemy_multi_sheet_data(config_data, filename) if not enemies_data: print("❌ 无法解析敌人配置数据") return False print(f"✅ 成功解析敌人数据,包含 {len(enemies_data)} 个敌人") # 检查normal_zombie的攻击伤害 for enemy in enemies_data: if enemy.get('id') == 'normal_zombie': print(f"🔍 normal_zombie攻击伤害: {enemy.get('attackDamage')}") break # 确保输出目录存在 output_path = Path(json_output) output_path.parent.mkdir(parents=True, exist_ok=True) # 写入JSON文件 with open(json_output, 'w', encoding='utf-8') as f: json.dump(enemies_data, f, ensure_ascii=False, indent=2) print(f"✅ 成功生成 {json_output}") return True except Exception as e: import traceback print(f"❌ 生成失败: {e}") print("详细错误信息:") print(traceback.format_exc()) return False if __name__ == "__main__": success = generate_enemies_json() if success: print("\n🎉 enemies.json文件生成成功!") else: print("\n💥 enemies.json文件生成失败!") input("\n按回车键退出...")