generate_config.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. import pandas as pd
  4. import json
  5. from config_manager import ConfigManagerGUI
  6. def generate_weapon_config():
  7. """生成武器配置文件"""
  8. print("=== 开始生成武器配置 ===")
  9. try:
  10. # 创建配置管理器实例
  11. config_manager = ConfigManagerGUI()
  12. # 读取Excel文件
  13. excel_file = "方块武器配置/方块武器配置表.xlsx"
  14. all_sheets = pd.read_excel(excel_file, sheet_name=None)
  15. # 解析武器配置
  16. weapon_config = config_manager.parse_weapon_multi_sheet_data(all_sheets, excel_file)
  17. # 保存到JSON文件
  18. output_file = "../weapons.json"
  19. with open(output_file, 'w', encoding='utf-8') as f:
  20. json.dump(weapon_config, f, indent=2, ensure_ascii=False)
  21. print(f"配置已保存到: {output_file}")
  22. print(f"共生成 {len(weapon_config.get('weapons', []))} 个武器配置")
  23. # 检查毛豆射手的配置
  24. for weapon in weapon_config.get('weapons', []):
  25. if weapon.get('ID') == 'pea_shooter' or weapon.get('id') == 'pea_shooter':
  26. print("\n=== 毛豆射手配置 ===")
  27. print(f"武器ID: {weapon.get('ID', weapon.get('id'))}")
  28. print(f"武器名称: {weapon.get('名称', weapon.get('name'))}")
  29. has_upgrade = 'upgradeConfig' in weapon
  30. print(f"包含升级配置: {'是' if has_upgrade else '否'}")
  31. if has_upgrade:
  32. upgrade_config = weapon['upgradeConfig']
  33. print(f"最大等级: {upgrade_config.get('maxLevel')}")
  34. levels = upgrade_config.get('levels', {})
  35. print(f"升级等级数: {len(levels)}")
  36. if levels:
  37. print("前3个等级费用:")
  38. for level in sorted(levels.keys())[:3]:
  39. cost = levels[level].get('cost', 0)
  40. print(f" 等级{level}: {cost}")
  41. break
  42. else:
  43. print("未找到毛豆射手配置")
  44. except Exception as e:
  45. print(f"生成配置失败: {e}")
  46. import traceback
  47. traceback.print_exc()
  48. if __name__ == "__main__":
  49. generate_weapon_config()