import os import json import glob from boss_fight import boss_fight as boss_fight_main def run_boss_case_tests(): case_dir = 'BOSS战样例' json_files = glob.glob(os.path.join(case_dir, '*.json')) all_passed = True for file in json_files: with open(file, 'r', encoding='utf-8') as f: data = json.load(f) b = data.get('B') playerskills = data.get('PlayerSkills') min_turns = data.get('min_turns') if b is None or playerskills is None or min_turns is None: print(f"[FAIL] {file}: 缺少必要字段") all_passed = False continue # 假设boss_fight.py的main返回技能使用次数 try: print(b,playerskills) result = boss_fight_main(b, playerskills) except Exception as e: print(f"[FAIL] {file}: boss_fight_main运行出错: {e}") all_passed = False continue # result应为技能数量 ans = 0 for i in result: ans += len(i) if ans == min_turns: print(f"[PASS] {file}: 技能数量={ans}, min_turns={min_turns}") else: print(f"[FAIL] {file}: 技能数量={ans}, min_turns={min_turns}") all_passed = False if all_passed: print("所有样例通过!") else: print("部分样例未通过。") if __name__ == '__main__': run_boss_case_tests()