#!/usr/bin/env python3 # -*- coding: utf-8 -*- import pandas as pd import json from config_manager import ConfigManagerGUI def test_weapon_upgrade_parsing(): """测试武器升级费用配置解析""" print("=== 测试武器升级费用配置解析 ===") # 创建配置管理器实例 config_manager = ConfigManagerGUI() # 读取Excel文件 excel_file = "方块武器配置/方块武器配置表.xlsx" try: # 读取所有工作表 all_sheets = pd.read_excel(excel_file, sheet_name=None) print(f"找到工作表: {list(all_sheets.keys())}") # 解析武器配置 weapon_config = config_manager.parse_weapon_multi_sheet_data(all_sheets, excel_file) print(f"\n解析结果: 共{len(weapon_config.get('weapons', []))}个武器") # 检查每个武器的升级配置 for weapon in weapon_config.get('weapons', []): weapon_id = weapon.get('ID', weapon.get('id', 'Unknown')) weapon_name = weapon.get('名称', weapon.get('name', 'Unknown')) has_upgrade = 'upgradeConfig' in weapon print(f"武器: {weapon_id} ({weapon_name}) - 升级配置: {'✓' if has_upgrade else '✗'}") if has_upgrade: upgrade_config = weapon['upgradeConfig'] levels = upgrade_config.get('levels', {}) print(f" 最大等级: {upgrade_config.get('maxLevel', 0)}") print(f" 升级等级数: {len(levels)}") if levels: # 显示前3个等级的费用 for level in sorted(levels.keys())[:3]: cost = levels[level].get('cost', 0) print(f" 等级{level}费用: {cost}") else: print(" 无升级配置") print() # 特别检查毛豆射手 pea_shooter = None for weapon in weapon_config.get('weapons', []): if weapon.get('ID') == 'pea_shooter' or weapon.get('id') == 'pea_shooter': pea_shooter = weapon break if pea_shooter: print("=== 毛豆射手详细信息 ===") print(f"原始数据: {json.dumps(pea_shooter, indent=2, ensure_ascii=False)}") else: print("未找到毛豆射手配置") except Exception as e: print(f"测试失败: {e}") import traceback traceback.print_exc() if __name__ == "__main__": test_weapon_upgrade_parsing()