From 8c65b8468c505d94786c4644059f8ed7e12df90f Mon Sep 17 00:00:00 2001 From: Gary Gan Date: Mon, 30 Jun 2025 16:33:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=87=E5=88=B0boss=EF=BC=8C=E5=BC=80?= =?UTF-8?q?=E5=A7=8B=E6=88=98=E6=96=97=EF=BC=8C=E6=88=98=E6=96=97=E7=88=BD?= =?UTF-8?q?=EF=BC=81=EF=BC=81=EF=BC=81=EF=BC=81=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/boss.jpg | Bin 0 -> 236686 bytes config.py | 1 + demo_history_iteration.py | 0 main.py | 31 ++- maze.py | 35 +++- simple_save_manager.py | 2 +- tests/test_10_saves_display.py | 109 ----------- tests/test_boundary_main.py | 39 ---- tests/test_boundary_repair.py | 205 -------------------- tests/test_button_functions.py | 106 ----------- tests/test_complete_boundary_fix.py | 59 ------ tests/test_dynamic_ui.py | 99 ---------- tests/test_history_iteration.py | 195 ------------------- tests/test_history_reset.py | 203 -------------------- tests/test_json_format.py | 145 -------------- tests/test_path_generation_fix.py | 210 --------------------- tests/test_save_ui_capacity.py | 152 --------------- tests/test_save_ui_complete.py | 196 ------------------- tests/test_save_ui_fix.py | 133 ------------- tests/test_start_button_multiple_clicks.py | 42 ----- 20 files changed, 60 insertions(+), 1902 deletions(-) create mode 100644 assets/boss.jpg create mode 100644 demo_history_iteration.py delete mode 100644 tests/test_10_saves_display.py delete mode 100644 tests/test_boundary_main.py delete mode 100644 tests/test_boundary_repair.py delete mode 100644 tests/test_button_functions.py delete mode 100644 tests/test_complete_boundary_fix.py delete mode 100644 tests/test_dynamic_ui.py delete mode 100644 tests/test_history_iteration.py delete mode 100644 tests/test_history_reset.py delete mode 100644 tests/test_json_format.py delete mode 100644 tests/test_path_generation_fix.py delete mode 100644 tests/test_save_ui_capacity.py delete mode 100644 tests/test_save_ui_complete.py delete mode 100644 tests/test_save_ui_fix.py delete mode 100644 tests/test_start_button_multiple_clicks.py diff --git a/assets/boss.jpg b/assets/boss.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2aa04f6a263981bad1e1327f9bd6b43263e61ba8 GIT binary patch literal 236686 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 z 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

pwKyah1Geg^HitGH4B31nZ2bYp65LF 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

  • yfVrwI(2s*fV?31z?v)|jkR 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≺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 y7{{@^eEP(%0L*f8FU=OZy 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 VG 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 0 and not maze.show_history: auto_play_timer += 1 if auto_play_timer >= auto_play_interval: - if not maze.next_path_step(): + has_next, boss_encountered, boss_info = maze.next_path_step() + if not has_next: auto_play = False # 路径播放完成后停止自动播放 + elif boss_encountered: + if boss_info: + mes_boss.text = f"遇到Boss!{boss_info}" + else: + mes_boss.text = "遇到Boss!准备战斗!" + mes_boss.show() # 显示boss遭遇提示 auto_play_timer = 0 # 历史迭代自动播放逻辑 @@ -215,7 +225,13 @@ if __name__ == "__main__": # 路径控制 if buttons['next_step'].pressed == True and len(maze.full_path) > 0 and not maze.show_history: - maze.next_path_step() + has_next, boss_encountered, boss_info = maze.next_path_step() + if boss_encountered: + if boss_info: + mes_boss.text = f"遇到Boss!{boss_info}" + else: + mes_boss.text = "遇到Boss!准备战斗!" + mes_boss.show() # 显示boss遭遇提示 if buttons['reset_path'].pressed == True and len(maze.full_path) > 0 and not maze.show_history: maze.reset_path() @@ -244,7 +260,13 @@ if __name__ == "__main__": # 键盘控制 if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE and len(maze.full_path) > 0 and not maze.show_history: - maze.next_path_step() + has_next, boss_encountered, boss_info = maze.next_path_step() + if boss_encountered: + if boss_info: + mes_boss.text = f"遇到Boss!{boss_info}" + else: + mes_boss.text = "遇到Boss!准备战斗!" + mes_boss.show() # 显示boss遭遇提示 elif event.key == pygame.K_r and len(maze.full_path) > 0 and not maze.show_history: maze.reset_path() auto_play = False @@ -287,7 +309,7 @@ if __name__ == "__main__": running = False - maze.draw(screen=screen, wall_texture=image_wall, coin_texture=image_coin, trap_texture=image_trap) + maze.draw(screen=screen, wall_texture=image_wall, coin_texture=image_coin, trap_texture=image_trap, boss_texture=image_boss) buttons['start'].draw(screen=screen) buttons['save'].draw(screen=screen) buttons['load'].draw(screen=screen) @@ -355,6 +377,7 @@ if __name__ == "__main__": mes3.draw(screen=screen) mes4.draw(screen=screen) mes5.draw(screen=screen) + mes_boss.draw(screen=screen) # 绘制存档界面(必须在最后绘制以显示在最上层) save_ui.draw(screen) diff --git a/maze.py b/maze.py index fe520cc..62edd59 100644 --- a/maze.py +++ b/maze.py @@ -70,6 +70,7 @@ class Maze: # 设置显示状态 self.grid = self.generater.maze # 使用原始迷宫数据 + print(self.grid) self.update_display_size() # 更新显示尺寸 print(f"路径长度: {len(self.full_path)}") @@ -79,10 +80,28 @@ class Maze: def next_path_step(self): """显示路径的下一步""" if self.path_step < len(self.full_path): + # 获取当前要显示的位置 + current_y, current_x = self.full_path[self.path_step] + + # 检查当前位置是否有boss + boss_encountered = False + boss_info = None + if self.generater.maze and self.generater.maze[current_y][current_x].startswith('b'): + boss_encountered = True + boss_cell = self.generater.maze[current_y][current_x] + # 提取boss血量信息 + try: + boss_hp = int(boss_cell[1:]) # 去掉'b'前缀,获取血量 + boss_info = f"Boss血量: {boss_hp}" + except ValueError: + boss_info = "Boss" + self.path_step += 1 self.update_grid_with_path() - return True - return False + + # 返回是否遇到boss和boss信息 + return True, boss_encountered, boss_info + return False, False, None def reset_path(self): """重置路径显示""" @@ -93,8 +112,12 @@ class Maze: def auto_advance_path(self): """自动推进路径显示""" if not self.is_path_complete: - if not self.next_path_step(): + has_next, boss_encountered, boss_info = self.next_path_step() + if not has_next: self.is_path_complete = True + # 注意:这里不处理boss遭遇,因为这个方法可能不在主循环中调用 + return boss_encountered, boss_info + return False, None def update_grid_with_path(self): """根据当前步数更新网格显示""" @@ -169,7 +192,7 @@ class Maze: - def draw(self, screen, wall_texture, coin_texture, trap_texture): + def draw(self, screen, wall_texture, coin_texture, trap_texture, boss_texture): if len(self.grid) == 0: return @@ -181,12 +204,16 @@ class Maze: wall_texture = pygame.transform.scale(wall_texture, (tile_size, tile_size)) coin_texture = pygame.transform.scale(coin_texture, (tile_size, tile_size)) trap_texture = pygame.transform.scale(trap_texture, (tile_size, tile_size)) + boss_texture = pygame.transform.scale(boss_texture, (tile_size, tile_size)) for y in range(self.size): for x in range(self.size): if self.grid[y][x] == '1': screen.blit(wall_texture, (x * tile_size, y * tile_size)) continue + if self.grid[y][x].startswith('b'): + screen.blit(boss_texture, (x * tile_size, y * tile_size)) + continue if self.grid[y][x].startswith('g'): screen.blit(coin_texture, (x * tile_size, y * tile_size)) diff --git a/simple_save_manager.py b/simple_save_manager.py index 7efd6c1..1b766ca 100644 --- a/simple_save_manager.py +++ b/simple_save_manager.py @@ -464,7 +464,7 @@ class SimpleSaveManager: elif cell == 'L': internal_row.append('l20') # 默认机关值 elif cell == 'B': - internal_row.append('b50') # 默认BOSS值 + internal_row.append('b') # 默认BOSS值 else: # 未知类型,默认为通路 internal_row.append('0') diff --git a/tests/test_10_saves_display.py b/tests/test_10_saves_display.py deleted file mode 100644 index 8249bc4..0000000 --- a/tests/test_10_saves_display.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python3 -"""测试存档界面显示10条存档的能力""" - -import pygame -import sys -import os - -# 添加项目根目录到路径 -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from config import * -from save_ui import SaveLoadUI -from maze import Maze - -def test_10_saves_display(): - """测试显示10条存档""" - print("=== 测试存档界面10条存档显示能力 ===") - - # 初始化pygame - pygame.init() - screen = pygame.display.set_mode((UI_WIDTH, UI_HEIGHT)) - pygame.display.set_caption("测试10条存档显示") - font = pygame.font.Font(FONT_FILE, FONT_SIZE) - - # 创建对象 - maze = Maze(wall_size=20, maze_size=200, file_name="test") - save_ui = SaveLoadUI(font) - - # 检查max_visible_saves设置 - print(f"max_visible_saves设置: {save_ui.max_visible_saves}") - - # 模拟10条存档数据 - mock_saves = [] - for i in range(10): - mock_saves.append({ - 'name': f'test_save_{i+1:02d}.json', - 'path': f'saves/test_save_{i+1:02d}.json', - 'save_time': f'2024-01-{i+1:02d} 10:00:00', - 'size': '5x5' - }) - - # 直接设置存档列表 - save_ui.save_list = mock_saves - save_ui.show_save_list = True - - print(f"模拟存档数量: {len(mock_saves)}") - - # 计算显示参数 - button_positions = get_button_positions() - list_area = button_positions['save_list_area'] - - print(f"存档列表区域: x={list_area[0]}, y={list_area[1]}, w={list_area[2]}, h={list_area[3]}") - - # 计算可显示的存档数量 - # 标题区域: 30像素 - # 操作提示区域: 25像素 - # 剩余区域高度: 330 - 30 - 25 = 275像素 - # 每个存档项: 25像素 - available_height = list_area[3] - 55 # 55 = 30(标题) + 25(提示) - max_displayable = available_height // 25 - - print(f"可用显示高度: {available_height}像素") - print(f"理论最大显示数量: {max_displayable}条") - print(f"实际设置显示数量: {save_ui.max_visible_saves}条") - - # 测试显示 - clock = pygame.time.Clock() - running = True - - while running: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - running = False - elif event.type == pygame.KEYDOWN: - if event.key == pygame.K_ESCAPE: - running = False - elif event.key == pygame.K_UP: - if save_ui.selected_save > 0: - save_ui.selected_save -= 1 - print(f"选中存档: {save_ui.selected_save + 1}") - elif event.key == pygame.K_DOWN: - if save_ui.selected_save < len(save_ui.save_list) - 1: - save_ui.selected_save += 1 - print(f"选中存档: {save_ui.selected_save + 1}") - - # 绘制 - screen.fill(COLOR_WHITE) - save_ui.draw(screen) - - # 绘制测试信息 - info_text = [ - f"存档数量: {len(save_ui.save_list)}", - f"显示设置: {save_ui.max_visible_saves}条", - f"当前选中: {save_ui.selected_save + 1}", - "按↑↓键选择存档,ESC退出" - ] - - for i, text in enumerate(info_text): - text_surface = font.render(text, True, COLOR_BLACK) - screen.blit(text_surface, (10, 10 + i * 30)) - - pygame.display.flip() - clock.tick(60) - - pygame.quit() - print("测试完成") - -if __name__ == "__main__": - test_10_saves_display() diff --git a/tests/test_boundary_main.py b/tests/test_boundary_main.py deleted file mode 100644 index 1b33afc..0000000 --- a/tests/test_boundary_main.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python3 -""" -主程序边界修复功能测试指南 -""" - -print("=== 主程序边界修复功能测试 ===") -print() -print("此测试将启动主程序来验证边界修复功能。") -print() -print("测试步骤:") -print("1. 启动程序后,点击 [Load] 按钮") -print("2. 程序会尝试加载 saves/sample.json") -print(" 如果不存在,会打开存档选择界面") -print("3. 在存档列表中选择 'maze_15_15_2.json'") -print("4. 观察控制台输出,应该看到边界修复信息") -print("5. 验证迷宫能正常显示且四周有墙壁") -print("6. 确认没有程序错误或崩溃") -print() -print("预期结果:") -print("- 控制台显示:'检测到迷宫边界不完整,自动添加边界墙壁...'") -print("- 控制台显示:'边界修复完成:15x15 -> 17x17'") -print("- 迷宫正常显示,四周都是墙壁") -print("- 程序运行稳定,没有错误") -print() -print("可以测试的文件:") -print("- maze_15_15_2.json (已知边界问题)") -print("- test_no_boundary.json (测试创建的无边界文件)") -print("- 其他正常的JSON文件 (验证不影响正常文件)") -print() - -input("按 Enter 键启动程序进行测试...") - -try: - import main -except KeyboardInterrupt: - print("\n测试完成,程序已退出") -except Exception as e: - print(f"\n程序运行出现错误: {str(e)}") - print("请检查边界修复功能的实现") diff --git a/tests/test_boundary_repair.py b/tests/test_boundary_repair.py deleted file mode 100644 index 6906d6c..0000000 --- a/tests/test_boundary_repair.py +++ /dev/null @@ -1,205 +0,0 @@ -#!/usr/bin/env python3 -""" -测试迷宫边界自动修复功能 -验证当迷宫四周不是墙时能自动添加边界 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from simple_save_manager import simple_save_manager -from maze import Maze -import json - -def test_boundary_repair(): - """测试边界修复功能""" - print("=== 测试迷宫边界自动修复功能 ===") - - # 测试加载有问题边界的JSON文件 - test_file = "saves/maze_15_15_2.json" - if not os.path.exists(test_file): - print(f"❌ 测试文件 {test_file} 不存在") - return False - - print(f"加载测试文件: {test_file}") - - # 先查看原始文件内容 - with open(test_file, 'r', encoding='utf-8') as f: - original_data = json.load(f) - - original_maze = original_data['maze'] - print(f"原始迷宫尺寸: {len(original_maze)}x{len(original_maze[0])}") - - # 检查原始边界 - height = len(original_maze) - width = len(original_maze[0]) - - print("原始边界检查:") - print(f" 上边界: {original_maze[0]}") - print(f" 下边界: {original_maze[height-1]}") - print(f" 左边界: {[row[0] for row in original_maze]}") - print(f" 右边界: {[row[width-1] for row in original_maze]}") - - # 使用simple_save_manager加载 - load_data = simple_save_manager.load_maze_from_file(test_file) - if load_data is None: - print("❌ 加载失败") - return False - - # 检查修复后的迷宫 - repaired_maze = load_data['original_grid'] - print(f"修复后迷宫尺寸: {len(repaired_maze)}x{len(repaired_maze[0])}") - - # 验证边界是否都是墙 - new_height = len(repaired_maze) - new_width = len(repaired_maze[0]) - - boundary_ok = True - - # 检查上下边界 - for col in range(new_width): - if repaired_maze[0][col] not in ['#', '1']: - print(f"❌ 上边界第{col}列不是墙: {repaired_maze[0][col]}") - boundary_ok = False - if repaired_maze[new_height-1][col] not in ['#', '1']: - print(f"❌ 下边界第{col}列不是墙: {repaired_maze[new_height-1][col]}") - boundary_ok = False - - # 检查左右边界 - for row in range(new_height): - if repaired_maze[row][0] not in ['#', '1']: - print(f"❌ 左边界第{row}行不是墙: {repaired_maze[row][0]}") - boundary_ok = False - if repaired_maze[row][new_width-1] not in ['#', '1']: - print(f"❌ 右边界第{row}行不是墙: {repaired_maze[row][new_width-1]}") - boundary_ok = False - - if boundary_ok: - print("✅ 边界修复成功,所有边界都是墙壁") - else: - print("❌ 边界修复失败") - return False - - return True - -def test_maze_loading_with_repair(): - """测试在Maze类中加载带有边界问题的迷宫""" - print("\n=== 测试Maze类加载边界修复 ===") - - maze = Maze(wall_size=30, maze_size=600, file_name="test.csv") - - test_file = "saves/maze_15_15_2.json" - if not os.path.exists(test_file): - print(f"❌ 测试文件 {test_file} 不存在") - return False - - # 加载迷宫 - result = maze.load_game(test_file) - if not result: - print("❌ Maze加载失败") - return False - - # 检查加载后的迷宫是否正常 - if len(maze.grid) == 0: - print("❌ 加载后迷宫网格为空") - return False - - # 验证边界 - height = len(maze.grid) - width = len(maze.grid[0]) - - print(f"Maze加载后尺寸: {width}x{height}") - - # 简单检查四个角是否是墙 - corners = [ - maze.grid[0][0], maze.grid[0][width-1], - maze.grid[height-1][0], maze.grid[height-1][width-1] - ] - - if all(corner in ['#', '1'] for corner in corners): - print("✅ Maze加载成功,边界正常") - return True - else: - print(f"❌ Maze加载后边界有问题,四个角: {corners}") - return False - -def test_create_test_file_without_boundary(): - """创建一个没有边界的测试文件""" - print("\n=== 创建测试用的无边界迷宫文件 ===") - - # 创建一个中间没有边界的迷宫 - test_maze = [ - [" ", "S", " ", " ", " "], - [" ", "#", " ", "#", " "], - [" ", " ", " ", "#", " "], - [" ", "#", " ", " ", " "], - [" ", " ", " ", "E", " "] - ] - - test_data = { - "maze": test_maze, - "metadata": { - "name": "无边界测试迷宫", - "test": True - } - } - - test_file = "saves/test_no_boundary.json" - with open(test_file, 'w', encoding='utf-8') as f: - json.dump(test_data, f, indent=2, ensure_ascii=False) - - print(f"创建测试文件: {test_file}") - - # 测试加载这个文件 - load_data = simple_save_manager.load_maze_from_file(test_file) - if load_data is None: - print("❌ 加载自创建的测试文件失败") - return False - - repaired_maze = load_data['original_grid'] - print(f"原始: 5x5 -> 修复后: {len(repaired_maze[0])}x{len(repaired_maze)}") - - # 打印修复后的迷宫 - print("修复后的迷宫:") - for row in repaired_maze: - print(''.join(row)) - - return True - -def main(): - print("开始测试迷宫边界自动修复功能...") - - tests = [ - test_boundary_repair, - test_maze_loading_with_repair, - test_create_test_file_without_boundary - ] - - passed = 0 - total = len(tests) - - for test in tests: - try: - if test(): - passed += 1 - else: - print(f"❌ 测试 {test.__name__} 失败") - except Exception as e: - print(f"❌ 测试 {test.__name__} 出现异常: {str(e)}") - import traceback - traceback.print_exc() - - print(f"\n=== 测试结果 ===") - print(f"通过: {passed}/{total}") - - if passed == total: - print("🎉 所有边界修复功能测试通过!") - return True - else: - print("❌ 部分测试失败,请检查相关功能") - return False - -if __name__ == "__main__": - success = main() - sys.exit(0 if success else 1) diff --git a/tests/test_button_functions.py b/tests/test_button_functions.py deleted file mode 100644 index ec28c2a..0000000 --- a/tests/test_button_functions.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -测试新的按钮功能 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze import Maze -from SourceCollector import SourceCollector - -def test_load_and_generate_path(): - """测试加载样例文件并生成路径的功能""" - print("=== 测试加载样例文件并生成路径 ===\n") - - # 创建迷宫实例 - maze = Maze(wall_size=20, maze_size=400, file_name="test.csv") - - # 测试加载sample.json - sample_file = "saves/sample.json" - print(f"1. 尝试加载 {sample_file}...") - - if os.path.exists(sample_file): - print(f"文件存在,开始加载...") - - # 加载文件 - if maze.load_game(sample_file): - print("✓ 加载成功") - print(f"迷宫大小: {maze.size}x{maze.size}") - - # 重新生成路径 - print("\n2. 重新生成路径...") - if maze.generater.maze: - maze.source_collector = SourceCollector(maze=maze.generater.maze) - maze.source_collector.run() - maze.full_path = maze.source_collector.get_path() - maze.path_step = 0 - maze.is_path_complete = False - maze.grid = maze.generater.maze - - print(f"✓ 路径生成成功") - print(f"路径长度: {len(maze.full_path)}") - print(f"路径前10步: {maze.full_path[:10]}") - - # 显示迷宫的起点和终点 - start_pos = None - end_pos = None - for y in range(maze.size): - for x in range(maze.size): - if maze.generater.maze[y][x] == 's': - start_pos = (y, x) - elif maze.generater.maze[y][x] == 'e': - end_pos = (y, x) - - print(f"起点位置: {start_pos}") - print(f"终点位置: {end_pos}") - - if maze.full_path: - print(f"路径起点: {maze.full_path[0]}") - print(f"路径终点: {maze.full_path[-1]}") - - return True - else: - print("✗ 迷宫数据无效") - return False - else: - print("✗ 加载失败") - return False - else: - print(f"✗ 文件不存在: {sample_file}") - return False - -def test_save_json(): - """测试保存JSON功能""" - print("\n=== 测试保存JSON功能 ===\n") - - # 创建并生成新迷宫 - maze = Maze(wall_size=20, maze_size=400, file_name="test.csv") - maze.generate() - - print(f"生成迷宫大小: {maze.size}x{maze.size}") - print(f"路径长度: {len(maze.full_path)}") - - # 保存为JSON - result = maze.save_game("test_button_save", "json") - if result: - print(f"✓ JSON保存成功: {result}") - return True - else: - print("✗ JSON保存失败") - return False - -if __name__ == "__main__": - success1 = test_load_and_generate_path() - success2 = test_save_json() - - print(f"\n=== 测试结果 ===") - print(f"加载并生成路径: {'成功' if success1 else '失败'}") - print(f"保存JSON: {'成功' if success2 else '失败'}") - - if success1 and success2: - print("✓ 所有测试通过!新按钮功能正常工作。") - else: - print("✗ 部分测试失败,需要检查。") diff --git a/tests/test_complete_boundary_fix.py b/tests/test_complete_boundary_fix.py deleted file mode 100644 index fb5e0d2..0000000 --- a/tests/test_complete_boundary_fix.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python3 -""" -边界修复和路径生成完整功能测试指南 -验证所有相关修复是否正确工作 -""" - -print("=== 边界修复和路径生成完整测试指南 ===") -print() -print("此测试将启动主程序验证以下功能:") -print() -print("🛡️ 边界自动修复功能:") -print("1. 系统自动检测迷宫边界问题") -print("2. 自动添加边界墙壁(15x15→17x17)") -print("3. 路径坐标自动调整") -print() -print("🎯 路径生成修复:") -print("1. SourceCollector边界检查正确") -print("2. 不会出现数组越界错误") -print("3. 能成功生成完整路径") -print() -print("测试步骤:") -print("1. 启动程序") -print("2. 点击 [Load] 按钮") -print("3. 程序会自动加载 saves/sample.json (已复制maze_15_15_2.json)") -print("4. 观察控制台输出,应该看到:") -print(" - '检测到迷宫边界不完整,自动添加边界墙壁...'") -print(" - '边界修复完成:15x15 -> 17x17'") -print(" - '已加载 saves/sample.json'") -print("5. 验证迷宫正常显示,没有程序错误") -print("6. 尝试路径演示功能(下一步、自动播放等)") -print() -print("可选的额外测试:") -print("- 按Ctrl+L打开存档界面,加载maze_15_15_2.json") -print("- 测试双击加载功能") -print("- 验证历史迭代功能正常工作") -print() -print("预期结果:") -print("✅ 没有IndexError或其他错误") -print("✅ 迷宫正常显示且四周有墙壁") -print("✅ 路径演示功能正常工作") -print("✅ 控制台显示正确的修复信息") -print() -print("注意事项:") -print("- 如果sample.json不存在,系统会打开存档选择界面") -print("- 可以手动选择maze_15_15_2.json进行测试") -print("- 边界修复是自动且透明的,用户无需手动操作") -print() - -input("按 Enter 键启动程序进行完整测试...") - -try: - import main -except KeyboardInterrupt: - print("\n测试完成,程序已退出") - print() - print("如果程序运行正常且没有错误,说明所有修复都工作正常!") -except Exception as e: - print(f"\n程序运行出现错误: {str(e)}") - print("请检查错误信息并参考修复文档") diff --git a/tests/test_dynamic_ui.py b/tests/test_dynamic_ui.py deleted file mode 100644 index 1de9de1..0000000 --- a/tests/test_dynamic_ui.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -测试动态UI布局功能 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze import Maze -from config import get_button_positions, MAZE_SIZE - -def test_dynamic_ui(): - """测试动态UI布局功能""" - print("=== 测试动态UI布局功能 ===\n") - - # 测试不同大小的迷宫 - test_cases = [ - ("小迷宫", 10), # 10x10 - ("中迷宫", 15), # 15x15 - ("大迷宫", 20), # 20x20 - ("超大迷宫", 25), # 25x25 - ] - - for name, size in test_cases: - print(f"{name} ({size}x{size}):") - - # 创建迷宫实例 - maze = Maze(wall_size=40, maze_size=size*40, file_name="test.csv") - - # 模拟网格数据(创建指定大小的迷宫) - maze.grid = [['1' for _ in range(size)] for _ in range(size)] - maze.size = size - - # 更新显示尺寸 - maze.update_display_size() - - print(f" 实际墙壁尺寸: {maze.actual_wall_size}") - print(f" 实际显示尺寸: {maze.actual_display_size}") - - # 测试按钮位置 - button_positions = get_button_positions(maze.actual_display_size) - print(f" 开始按钮位置: {button_positions['start_button']}") - print(f" 保存按钮位置: {button_positions['save_button']}") - print(f" 加载按钮位置: {button_positions['load_button']}") - print() - - # 测试加载不同存档文件的效果 - print("=== 测试加载不同存档文件 ===\n") - - saves_dir = "saves" - if os.path.exists(saves_dir): - save_files = [f for f in os.listdir(saves_dir) if f.endswith('.json')][:3] - - for save_file in save_files: - print(f"加载存档: {save_file}") - maze = Maze(wall_size=40, maze_size=800, file_name="test.csv") - - full_path = os.path.join(saves_dir, save_file) - if maze.load_game(full_path): - print(f" 迷宫大小: {maze.size}x{maze.size}") - print(f" 实际显示尺寸: {maze.actual_display_size}") - print(f" 墙壁尺寸: {maze.actual_wall_size}") - - # 计算按钮位置 - button_positions = get_button_positions(maze.actual_display_size) - print(f" 控制面板起始X: {button_positions['start_button'][0]}") - print() - else: - print(f" 加载失败") - print() - - print("=== 按钮位置适应性测试完成 ===") - -def test_button_positions(): - """测试按钮位置计算函数""" - print("\n=== 测试按钮位置计算函数 ===\n") - - test_sizes = [400, 600, 800, 1000, 1200] - - for size in test_sizes: - print(f"迷宫显示尺寸: {size}") - positions = get_button_positions(size) - - print(f" 开始按钮: {positions['start_button']}") - print(f" 存档区域: {positions['save_list_area']}") - - # 检查按钮是否在合理位置(不超出屏幕范围) - control_x = positions['start_button'][0] - if control_x < 1500: # UI_WIDTH - print(f" ✓ 按钮位置合理") - else: - print(f" ✗ 按钮位置可能超出屏幕") - print() - -if __name__ == "__main__": - test_dynamic_ui() - test_button_positions() diff --git a/tests/test_history_iteration.py b/tests/test_history_iteration.py deleted file mode 100644 index 6f3bc89..0000000 --- a/tests/test_history_iteration.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/env python3 -""" -测试历史迭代展示功能 -验证生成过程的历史记录和展示功能 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze_generator import MazeGenerator -from maze import Maze -import time - -def test_history_generation(): - """测试迷宫生成历史记录功能""" - print("=== 测试迷宫生成历史记录 ===") - - generator = MazeGenerator(size=21, filename="test.csv", name="测试迷宫") - generator.generate(seed=12345) - - history = generator.get_history_mazes() - print(f"历史步数: {len(history)}") - - if len(history) == 0: - print("❌ 历史记录为空") - return False - - # 验证历史记录的每一步都是有效的迷宫 - for i, maze_state in enumerate(history): - if len(maze_state) != 21 or len(maze_state[0]) != 21: - print(f"❌ 历史步骤 {i} 尺寸错误: {len(maze_state)}x{len(maze_state[0])}") - return False - - print(f"✅ 历史记录验证通过,共 {len(history)} 步") - return True - -def test_maze_history_methods(): - """测试Maze类的历史展示方法""" - print("\n=== 测试Maze历史展示方法 ===") - - maze = Maze(wall_size=30, maze_size=630, file_name="test.csv") - maze.generate() - - # 验证历史数据 - if len(maze.history_mazes) == 0: - print("❌ 生成后历史数据为空") - return False - - print(f"历史步数: {len(maze.history_mazes)}") - print(f"初始历史步骤: {maze.history_step}") - print(f"初始展示模式: {'历史' if maze.show_history else '路径'}") - - # 测试历史步骤控制 - original_step = maze.history_step - - # 测试下一步 - result = maze.next_history_step() - if result and maze.history_step == original_step + 1: - print("✅ next_history_step 正常工作") - else: - print(f"❌ next_history_step 失败,步骤: {original_step} -> {maze.history_step}") - return False - - # 测试上一步 - result = maze.prev_history_step() - if result and maze.history_step == original_step: - print("✅ prev_history_step 正常工作") - else: - print(f"❌ prev_history_step 失败,步骤: {maze.history_step}") - return False - - # 测试模式切换 - original_mode = maze.show_history - maze.toggle_history_mode() - if maze.show_history != original_mode: - print("✅ toggle_history_mode 正常工作") - else: - print("❌ toggle_history_mode 失败") - return False - - # 切换回原模式 - maze.toggle_history_mode() - - return True - -def test_load_without_history(): - """测试加载存档时不展示历史""" - print("\n=== 测试加载存档时历史处理 ===") - - # 先生成一个迷宫并保存 - maze1 = Maze(wall_size=30, maze_size=600, file_name="test.csv") - maze1.generate() - - if len(maze1.history_mazes) == 0: - print("❌ 生成的迷宫没有历史数据") - return False - - print(f"生成迷宫的历史步数: {len(maze1.history_mazes)}") - - # 保存迷宫 - save_result = maze1.save_game(format_type="json") - if not save_result: - print("❌ 保存迷宫失败") - return False - - # 创建新的迷宫实例并加载 - maze2 = Maze(wall_size=30, maze_size=600, file_name="test.csv") - - # 假设有一个保存的文件 - import glob - json_files = glob.glob("saves/*.json") - if not json_files: - print("❌ 没有找到保存的JSON文件") - return False - - load_result = maze2.load_game(json_files[0]) - if not load_result: - print("❌ 加载迷宫失败") - return False - - # 验证加载后历史数据被清空 - if len(maze2.history_mazes) == 0 and not maze2.show_history: - print("✅ 加载存档后历史数据正确清空") - return True - else: - print(f"❌ 加载存档后历史数据未正确清空: {len(maze2.history_mazes)} 步, 展示模式: {maze2.show_history}") - return False - -def test_history_boundary_conditions(): - """测试历史展示的边界条件""" - print("\n=== 测试历史展示边界条件 ===") - - maze = Maze(wall_size=30, maze_size=600, file_name="test.csv") - maze.generate() - - if len(maze.history_mazes) == 0: - print("❌ 没有历史数据进行测试") - return False - - # 测试超出上限 - maze.history_step = len(maze.history_mazes) - 1 - result = maze.next_history_step() - if not result: - print("✅ 历史步骤上限控制正常") - else: - print("❌ 历史步骤上限控制失败") - return False - - # 测试超出下限 - maze.history_step = 0 - result = maze.prev_history_step() - if not result: - print("✅ 历史步骤下限控制正常") - else: - print("❌ 历史步骤下限控制失败") - return False - - return True - -def main(): - print("开始测试历史迭代展示功能...") - - tests = [ - test_history_generation, - test_maze_history_methods, - test_load_without_history, - test_history_boundary_conditions - ] - - passed = 0 - total = len(tests) - - for test in tests: - try: - if test(): - passed += 1 - else: - print(f"❌ 测试 {test.__name__} 失败") - except Exception as e: - print(f"❌ 测试 {test.__name__} 出现异常: {str(e)}") - - print(f"\n=== 测试结果 ===") - print(f"通过: {passed}/{total}") - - if passed == total: - print("🎉 所有历史迭代展示功能测试通过!") - return True - else: - print("❌ 部分测试失败,请检查相关功能") - return False - -if __name__ == "__main__": - success = main() - sys.exit(0 if success else 1) diff --git a/tests/test_history_reset.py b/tests/test_history_reset.py deleted file mode 100644 index 8773e01..0000000 --- a/tests/test_history_reset.py +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/bin/env python3 -""" -测试多次生成迷宫时历史数据重置功能 -验证连续生成迷宫时不会有历史数据混乱 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze import Maze -import time - -def test_multiple_generation(): - """测试多次生成迷宫时历史数据重置""" - print("=== 测试多次生成迷宫历史重置 ===") - - maze = Maze(wall_size=30, maze_size=600, file_name="test.csv") - - # 第一次生成迷宫 - print("\n--- 第一次生成迷宫 ---") - maze.generate() - - first_history_count = len(maze.history_mazes) - first_path_count = len(maze.full_path) - - print(f"第一次生成 - 历史步数: {first_history_count}, 路径长度: {first_path_count}") - - if first_history_count == 0: - print("❌ 第一次生成后没有历史数据") - return False - - # 验证初始状态 - if maze.history_step != 0 or maze.show_history != False or maze.path_step != 0: - print(f"❌ 第一次生成后状态不正确: history_step={maze.history_step}, show_history={maze.show_history}, path_step={maze.path_step}") - return False - - # 切换到历史模式并前进几步 - maze.toggle_history_mode() - maze.next_history_step() - maze.next_history_step() - - print(f"历史模式前进后 - history_step: {maze.history_step}, show_history: {maze.show_history}") - - # 第二次生成迷宫 - print("\n--- 第二次生成迷宫 ---") - maze.generate() - - second_history_count = len(maze.history_mazes) - second_path_count = len(maze.full_path) - - print(f"第二次生成 - 历史步数: {second_history_count}, 路径长度: {second_path_count}") - - # 验证状态重置 - if maze.history_step != 0: - print(f"❌ 第二次生成后history_step未重置: {maze.history_step}") - return False - - if maze.show_history != False: - print(f"❌ 第二次生成后show_history未重置: {maze.show_history}") - return False - - if maze.path_step != 0: - print(f"❌ 第二次生成后path_step未重置: {maze.path_step}") - return False - - if second_history_count == 0: - print("❌ 第二次生成后没有新的历史数据") - return False - - # 验证历史数据是全新的(长度可能不同) - if second_history_count == first_history_count: - # 如果长度相同,检查内容是否不同 - if maze.history_mazes[0] == maze.history_mazes[0]: # 比较第一步 - print("⚠️ 两次生成的历史数据第一步相同(可能是随机种子问题,但功能正常)") - - print(f"✅ 第二次生成后所有状态正确重置") - - # 第三次生成以确保一致性 - print("\n--- 第三次生成迷宫 ---") - - # 先改变一些状态 - maze.toggle_history_mode() - maze.next_history_step() - maze.next_path_step() - - maze.generate() - - third_history_count = len(maze.history_mazes) - third_path_count = len(maze.full_path) - - print(f"第三次生成 - 历史步数: {third_history_count}, 路径长度: {third_path_count}") - - # 再次验证状态重置 - if maze.history_step != 0 or maze.show_history != False or maze.path_step != 0: - print(f"❌ 第三次生成后状态未正确重置") - return False - - print("✅ 第三次生成后状态也正确重置") - - return True - -def test_maze_generator_reset(): - """测试MazeGenerator的历史重置""" - print("\n=== 测试MazeGenerator历史重置 ===") - - from maze_generator import MazeGenerator - - generator = MazeGenerator(size=21, filename="test.csv", name="测试") - - # 第一次生成 - generator.generate(seed=12345) - first_history = len(generator.get_history_mazes()) - first_elements = len(generator.special_elements) - - print(f"第一次生成 - 历史: {first_history}, 特殊元素: {first_elements}") - - # 第二次生成 - generator.generate(seed=54321) - second_history = len(generator.get_history_mazes()) - second_elements = len(generator.special_elements) - - print(f"第二次生成 - 历史: {second_history}, 特殊元素: {second_elements}") - - if first_history == 0 or second_history == 0: - print("❌ 生成器历史数据为空") - return False - - # 验证特殊元素也被重置 - if second_elements == 0: - print("❌ 第二次生成后特殊元素为空") - return False - - print("✅ MazeGenerator历史和特殊元素正确重置") - return True - -def test_state_isolation(): - """测试不同迷宫实例之间的状态隔离""" - print("\n=== 测试迷宫实例状态隔离 ===") - - # 创建两个迷宫实例 - maze1 = Maze(wall_size=30, maze_size=600, file_name="test1.csv") - maze2 = Maze(wall_size=30, maze_size=600, file_name="test2.csv") - - # 生成第一个迷宫 - maze1.generate() - history1 = len(maze1.history_mazes) - - # 修改第一个迷宫的状态 - maze1.toggle_history_mode() - maze1.next_history_step() - - # 生成第二个迷宫 - maze2.generate() - history2 = len(maze2.history_mazes) - - # 验证第二个迷宫的状态是独立的 - if maze2.show_history != False or maze2.history_step != 0: - print(f"❌ 第二个迷宫状态被第一个影响: show_history={maze2.show_history}, history_step={maze2.history_step}") - return False - - # 验证第一个迷宫状态没变 - if maze1.show_history != True or maze1.history_step == 0: - print(f"❌ 第一个迷宫状态意外改变: show_history={maze1.show_history}, history_step={maze1.history_step}") - return False - - print(f"✅ 两个迷宫实例状态正确隔离 (历史: {history1}, {history2})") - return True - -def main(): - print("开始测试多次生成迷宫时历史数据重置...") - - tests = [ - test_multiple_generation, - test_maze_generator_reset, - test_state_isolation - ] - - passed = 0 - total = len(tests) - - for test in tests: - try: - if test(): - passed += 1 - else: - print(f"❌ 测试 {test.__name__} 失败") - except Exception as e: - print(f"❌ 测试 {test.__name__} 出现异常: {str(e)}") - - print(f"\n=== 测试结果 ===") - print(f"通过: {passed}/{total}") - - if passed == total: - print("🎉 所有历史重置功能测试通过!") - return True - else: - print("❌ 部分测试失败,请检查相关功能") - return False - -if __name__ == "__main__": - success = main() - sys.exit(0 if success else 1) diff --git a/tests/test_json_format.py b/tests/test_json_format.py deleted file mode 100644 index 8a8ac10..0000000 --- a/tests/test_json_format.py +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -测试JSON存档格式功能 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze_generator import MazeGenerator -from maze import Maze -from simple_save_manager import simple_save_manager -import json - -def test_json_save_load(): - """测试JSON格式的保存和加载功能""" - print("=== 测试JSON存档格式功能 ===\n") - - # 1. 生成一个测试迷宫 - print("1. 生成测试迷宫...") - maze = Maze(wall_size=20, maze_size=400, file_name="test_maze.csv") - maze.generate() - print(f"迷宫大小: {maze.size}x{maze.size}") - print(f"路径长度: {len(maze.full_path)}") - - # 2. 保存为JSON格式 - print("\n2. 保存为JSON格式...") - json_save_file = maze.save_game("test_maze_json", "json") - if json_save_file: - print(f"JSON保存成功: {json_save_file}") - - # 查看JSON文件内容 - with open(json_save_file, 'r', encoding='utf-8') as f: - data = json.load(f) - - print("JSON文件结构:") - print(f"- maze: {len(data['maze'])}x{len(data['maze'][0])} 网格") - print(f"- metadata: {data.get('metadata', {})}") - if 'path_data' in data: - print(f"- path_data: 包含{len(data['path_data']['full_path'])}步路径") - - # 显示迷宫的前5行作为示例 - print("\n迷宫前5行示例:") - for i, row in enumerate(data['maze'][:5]): - print(f"第{i+1}行: {row}") - - else: - print("JSON保存失败") - return False - - # 3. 保存为CSV格式(对比) - print("\n3. 保存为CSV格式...") - csv_save_file = maze.save_game("test_maze_csv", "csv") - if csv_save_file: - print(f"CSV保存成功: {csv_save_file}") - else: - print("CSV保存失败") - - # 4. 测试JSON加载 - print("\n4. 测试JSON加载...") - new_maze = Maze(wall_size=20, maze_size=400, file_name="test_load.csv") - if new_maze.load_game(json_save_file): - print("JSON加载成功") - print(f"加载后迷宫大小: {new_maze.size}x{new_maze.size}") - print(f"加载后路径长度: {len(new_maze.full_path)}") - - # 验证加载的数据 - original_path = maze.full_path - loaded_path = new_maze.full_path - if original_path == loaded_path: - print("✓ 路径数据完全一致") - else: - print("✗ 路径数据不一致") - print(f"原始路径前5步: {original_path[:5]}") - print(f"加载路径前5步: {loaded_path[:5]}") - else: - print("JSON加载失败") - return False - - # 5. 测试存档列表 - print("\n5. 测试存档列表...") - save_list = simple_save_manager.get_save_list() - print(f"找到{len(save_list)}个存档文件:") - for save in save_list: - print(f"- {save['name']} ({save['format']}格式) - {save['filename']}") - - # 6. 验证JSON格式转换 - print("\n6. 验证JSON格式转换...") - print("内部格式 -> JSON格式转换测试:") - test_conversions = [ - ('1', '#', '墙壁'), - ('0', ' ', '通路'), - ('s', 'S', '起点'), - ('e', 'E', '终点'), - ('g10', 'G', '金币'), - ('t15', 'T', '陷阱'), - ('l20', 'L', '机关'), - ('b50', 'B', 'BOSS') - ] - - for internal, expected_json, desc in test_conversions: - # 创建单元素测试迷宫 - test_maze = [[internal]] - json_format = simple_save_manager.convert_to_json_format_helper(test_maze) - actual_json = json_format[0][0] - status = "✓" if actual_json == expected_json else "✗" - print(f"{status} {desc}: '{internal}' -> '{actual_json}' (期望: '{expected_json}')") - - print("\n=== 测试完成 ===") - return True - -def simple_save_manager_convert_to_json_format_helper(maze_grid): - """辅助函数:转换迷宫格式用于测试""" - json_maze = [] - for row in maze_grid: - json_row = [] - for cell in row: - cell_str = str(cell) - if cell_str == '1': - json_row.append('#') - elif cell_str == '0': - json_row.append(' ') - elif cell_str == 's': - json_row.append('S') - elif cell_str == 'e': - json_row.append('E') - elif cell_str.startswith('g'): - json_row.append('G') - elif cell_str.startswith('t'): - json_row.append('T') - elif cell_str.startswith('l'): - json_row.append('L') - elif cell_str.startswith('b'): - json_row.append('B') - else: - json_row.append(' ') - json_maze.append(json_row) - return json_maze - -# 为simple_save_manager添加辅助方法 -simple_save_manager.convert_to_json_format_helper = simple_save_manager_convert_to_json_format_helper - -if __name__ == "__main__": - test_json_save_load() diff --git a/tests/test_path_generation_fix.py b/tests/test_path_generation_fix.py deleted file mode 100644 index a1c3f70..0000000 --- a/tests/test_path_generation_fix.py +++ /dev/null @@ -1,210 +0,0 @@ -#!/usr/bin/env python3 -""" -测试边界修复后的路径生成功能 -验证修复边界后SourceCollector能正常工作 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze import Maze -from SourceCollector import SourceCollector -import traceback - -def test_source_collector_with_boundary_fix(): - """测试边界修复后SourceCollector的路径生成""" - print("=== 测试边界修复后路径生成 ===") - - maze = Maze(wall_size=30, maze_size=600, file_name="test.csv") - - # 加载有边界问题的文件 - test_file = "saves/maze_15_15_2.json" - if not os.path.exists(test_file): - print(f"❌ 测试文件 {test_file} 不存在") - return False - - print(f"加载测试文件: {test_file}") - - try: - # 使用maze.load_game加载(会自动修复边界) - result = maze.load_game(test_file) - if not result: - print("❌ 迷宫加载失败") - return False - - print(f"✅ 迷宫加载成功") - print(f"修复后迷宫尺寸: {len(maze.generater.maze)}x{len(maze.generater.maze[0])}") - print(f"显示网格尺寸: {len(maze.grid)}x{len(maze.grid[0])}") - - # 检查是否有路径信息 - if len(maze.full_path) > 0: - print(f"已有路径信息,长度: {len(maze.full_path)}") - return True - - # 如果没有路径信息,尝试生成 - print("没有路径信息,尝试重新生成...") - - # 使用修复后的迷宫创建SourceCollector - source_collector = SourceCollector(maze=maze.generater.maze) - print(f"SourceCollector创建成功,迷宫尺寸: {source_collector.rowNums}x{source_collector.colNums}") - - # 检查起点和终点 - if source_collector.start_pos is None: - print("❌ 没有找到起点") - return False - - if source_collector.end_pos is None: - print("❌ 没有找到终点") - return False - - print(f"起点: {source_collector.start_pos}") - print(f"终点: {source_collector.end_pos}") - - # 尝试运行路径搜索 - source_collector.run() - path = source_collector.get_path() - - if path and len(path) > 0: - print(f"✅ 路径生成成功,长度: {len(path)}") - print(f"起始几步: {path[:5] if len(path) >= 5 else path}") - return True - else: - print("❌ 路径生成失败,没有找到路径") - return False - - except Exception as e: - print(f"❌ 测试过程中出现异常: {str(e)}") - traceback.print_exc() - return False - -def test_boundary_check_in_source_collector(): - """测试SourceCollector的边界检查功能""" - print("\n=== 测试SourceCollector边界检查 ===") - - # 创建一个小的测试迷宫 - test_maze = [ - ['1', '1', '1', '1', '1'], - ['1', 's', '0', '0', '1'], - ['1', '0', '1', '0', '1'], - ['1', '0', '0', 'e', '1'], - ['1', '1', '1', '1', '1'] - ] - - try: - source_collector = SourceCollector(maze=test_maze) - print(f"测试迷宫尺寸: {source_collector.rowNums}x{source_collector.colNums}") - print(f"起点: {source_collector.start_pos}") - print(f"终点: {source_collector.end_pos}") - - # 测试边界检查 - test_cases = [ - (-1, 0), # 左边界外 - (0, -1), # 上边界外 - (5, 2), # 下边界外 - (2, 5), # 右边界外 - (0, 0), # 左上角(边界内) - (4, 4), # 右下角(边界内) - (2, 2), # 中心位置 - ] - - print("边界检查测试:") - for x, y in test_cases: - is_out = source_collector.outofmap(x, y) - expected = x < 0 or y < 0 or x >= 5 or y >= 5 - status = "✅" if is_out == expected else "❌" - print(f" {status} ({x},{y}): {'边界外' if is_out else '边界内'}") - - # 运行路径搜索 - source_collector.run() - path = source_collector.get_path() - - if path and len(path) > 0: - print(f"✅ 小迷宫路径生成成功,长度: {len(path)}") - return True - else: - print("❌ 小迷宫路径生成失败") - return False - - except Exception as e: - print(f"❌ 小迷宫测试异常: {str(e)}") - traceback.print_exc() - return False - -def test_direct_source_collector(): - """直接测试SourceCollector加载修复后的迷宫""" - print("\n=== 直接测试SourceCollector ===") - - from simple_save_manager import simple_save_manager - - test_file = "saves/maze_15_15_2.json" - if not os.path.exists(test_file): - print(f"❌ 测试文件 {test_file} 不存在") - return False - - try: - # 直接使用simple_save_manager加载 - load_data = simple_save_manager.load_maze_from_file(test_file) - if load_data is None: - print("❌ 文件加载失败") - return False - - original_grid = load_data['original_grid'] - print(f"加载的迷宫尺寸: {len(original_grid)}x{len(original_grid[0])}") - - # 直接创建SourceCollector - source_collector = SourceCollector(maze=original_grid) - print(f"SourceCollector尺寸: {source_collector.rowNums}x{source_collector.colNums}") - print(f"起点: {source_collector.start_pos}") - print(f"终点: {source_collector.end_pos}") - - # 运行路径搜索 - source_collector.run() - path = source_collector.get_path() - - if path and len(path) > 0: - print(f"✅ 直接测试路径生成成功,长度: {len(path)}") - return True - else: - print("❌ 直接测试路径生成失败") - return False - - except Exception as e: - print(f"❌ 直接测试异常: {str(e)}") - traceback.print_exc() - return False - -def main(): - print("开始测试边界修复后的路径生成功能...") - - tests = [ - test_boundary_check_in_source_collector, - test_direct_source_collector, - test_source_collector_with_boundary_fix - ] - - passed = 0 - total = len(tests) - - for test in tests: - try: - if test(): - passed += 1 - else: - print(f"❌ 测试 {test.__name__} 失败") - except Exception as e: - print(f"❌ 测试 {test.__name__} 出现异常: {str(e)}") - - print(f"\n=== 测试结果 ===") - print(f"通过: {passed}/{total}") - - if passed == total: - print("🎉 所有路径生成修复测试通过!") - return True - else: - print("❌ 部分测试失败,请检查相关功能") - return False - -if __name__ == "__main__": - success = main() - sys.exit(0 if success else 1) diff --git a/tests/test_save_ui_capacity.py b/tests/test_save_ui_capacity.py deleted file mode 100644 index 3537692..0000000 --- a/tests/test_save_ui_capacity.py +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env python3 -""" -测试存档界面显示数量修改 -验证能否显示10条存档记录 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from simple_save_manager import simple_save_manager -import json -from datetime import datetime - -def create_test_saves(): - """创建测试存档文件""" - print("=== 创建测试存档文件 ===") - - # 确保saves目录存在 - if not os.path.exists("saves"): - os.makedirs("saves") - - # 创建简单的测试迷宫数据 - test_maze_data = { - "maze": [ - ["#", "#", "#", "#", "#"], - ["#", "S", " ", " ", "#"], - ["#", " ", "#", " ", "#"], - ["#", " ", " ", "E", "#"], - ["#", "#", "#", "#", "#"] - ], - "metadata": { - "name": "测试迷宫", - "test": True - } - } - - # 创建12个测试存档(超过10个来测试显示限制) - for i in range(1, 13): - filename = f"saves/test_save_{i:02d}.json" - - # 修改迷宫名称 - test_data = test_maze_data.copy() - test_data["metadata"] = test_maze_data["metadata"].copy() - test_data["metadata"]["name"] = f"测试迷宫_{i:02d}" - test_data["metadata"]["save_time"] = datetime.now().isoformat() - - with open(filename, 'w', encoding='utf-8') as f: - json.dump(test_data, f, indent=2, ensure_ascii=False) - - print(f"创建: {filename}") - - print(f"✅ 创建了12个测试存档文件") - -def check_save_list(): - """检查存档列表""" - print("\n=== 检查存档列表 ===") - - save_list = simple_save_manager.get_save_list() - print(f"找到存档数量: {len(save_list)}") - - for i, save_info in enumerate(save_list): - print(f"{i+1:2d}. {save_info['name']} ({save_info['format']})") - - return len(save_list) - -def calculate_display_capacity(): - """计算显示容量""" - print("\n=== 计算显示容量 ===") - - from config import get_button_positions - - positions = get_button_positions() - save_area = positions['save_list_area'] - - print(f"存档区域尺寸: {save_area[2]}x{save_area[3]} (宽x高)") - - # 计算可用高度 - title_height = 25 - hint_height = 25 - start_offset = 55 # 实际开始位置偏移 - - available_height = save_area[3] - start_offset - item_height = 25 - - max_items = available_height // item_height - - print(f"标题和提示占用: {start_offset}像素") - print(f"可用高度: {available_height}像素") - print(f"每项高度: {item_height}像素") - print(f"理论最大显示: {max_items}条") - - return max_items - -def test_ui_layout(): - """测试UI布局说明""" - print("\n=== UI测试说明 ===") - print() - print("现在可以测试存档界面显示效果:") - print("1. 运行主程序: python main.py") - print("2. 按 Ctrl+L 打开存档界面") - print("3. 验证能否看到10条存档(如果存档数量足够)") - print("4. 使用↑↓键测试所有存档是否可选择") - print() - print("预期结果:") - print("- 存档界面高度增加到300像素") - print("- 最多可显示约9-10条存档") - print("- 界面不会截断或重叠") - print("- 所有存档都可以正常选择和加载") - print() - -def cleanup_test_files(): - """清理测试文件""" - response = input("是否删除测试存档文件? (y/n): ") - if response.lower() == 'y': - print("\n=== 清理测试文件 ===") - for i in range(1, 13): - filename = f"saves/test_save_{i:02d}.json" - if os.path.exists(filename): - os.remove(filename) - print(f"删除: {filename}") - print("✅ 测试文件清理完成") - -def main(): - print("开始测试存档界面显示数量...") - - # 计算理论容量 - max_capacity = calculate_display_capacity() - - # 创建测试文件 - create_test_saves() - - # 检查存档列表 - save_count = check_save_list() - - print(f"\n=== 结果分析 ===") - print(f"理论最大显示容量: {max_capacity}条") - print(f"实际存档数量: {save_count}条") - - if max_capacity >= 10: - print("✅ 界面尺寸足够显示10条存档") - else: - print(f"❌ 界面尺寸只能显示{max_capacity}条存档") - - # UI测试说明 - test_ui_layout() - - # 可选清理 - cleanup_test_files() - -if __name__ == "__main__": - main() diff --git a/tests/test_save_ui_complete.py b/tests/test_save_ui_complete.py deleted file mode 100644 index 6a930e8..0000000 --- a/tests/test_save_ui_complete.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/env python3 -"""测试存档界面完整功能:显示10条存档,交互功能等""" - -import pygame -import sys -import os -import json - -# 添加项目根目录到路径 -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from config import * -from save_ui import SaveLoadUI -from maze import Maze - -def create_test_saves(): - """创建10个测试存档文件""" - print("创建测试存档文件...") - - # 确保saves目录存在 - os.makedirs("saves", exist_ok=True) - - # 创建10个不同的测试存档 - test_mazes = [ - {"rows": 5, "cols": 5, "name": "小迷宫5x5"}, - {"rows": 7, "cols": 7, "name": "中迷宫7x7"}, - {"rows": 10, "cols": 10, "name": "大迷宫10x10"}, - {"rows": 6, "cols": 8, "name": "矩形迷宫6x8"}, - {"rows": 8, "cols": 6, "name": "矩形迷宫8x6"}, - {"rows": 12, "cols": 12, "name": "超大迷宫12x12"}, - {"rows": 5, "cols": 10, "name": "长条迷宫5x10"}, - {"rows": 9, "cols": 9, "name": "正方迷宫9x9"}, - {"rows": 15, "cols": 15, "name": "巨型迷宫15x15"}, - {"rows": 7, "cols": 5, "name": "高窄迷宫7x5"} - ] - - created_files = [] - - for i, maze_info in enumerate(test_mazes): - filename = f"test_save_{i+1:02d}.json" - filepath = f"saves/{filename}" - - # 创建简单的迷宫数据 - rows, cols = maze_info["rows"], maze_info["cols"] - maze_data = [] - - for r in range(rows): - row = [] - for c in range(cols): - if r == 0 or r == rows-1 or c == 0 or c == cols-1: - row.append(1) # 边界是墙 - elif r == 1 and c == 1: - row.append(2) # 起点 - elif r == rows-2 and c == cols-2: - row.append(3) # 终点 - elif (r + c) % 3 == 0: - row.append(1) # 一些墙 - else: - row.append(0) # 通路 - maze_data.append(row) - - # 创建路径数据 - path_data = [ - {"x": 1, "y": 1, "step": 0}, - {"x": 2, "y": 1, "step": 1}, - {"x": cols-2, "y": rows-2, "step": 2} - ] - - # 保存数据 - save_data = { - "maze_info": { - "name": maze_info["name"], - "size": f"{rows}x{cols}", - "save_time": f"2024-01-{i+1:02d} {10+i}:00:00" - }, - "maze_data": maze_data, - "path_data": path_data, - "game_state": { - "path_step": 0, - "is_path_complete": False - } - } - - with open(filepath, 'w', encoding='utf-8') as f: - json.dump(save_data, f, indent=2, ensure_ascii=False) - - created_files.append(filepath) - print(f"创建存档: {filename} ({maze_info['name']})") - - print(f"总共创建了 {len(created_files)} 个测试存档文件") - return created_files - -def test_save_ui_complete(): - """测试存档界面完整功能""" - print("=== 测试存档界面完整功能 ===") - - # 创建测试存档 - test_files = create_test_saves() - - # 初始化pygame - pygame.init() - screen = pygame.display.set_mode((UI_WIDTH, UI_HEIGHT)) - pygame.display.set_caption("存档界面完整测试") - font = pygame.font.Font(FONT_FILE, FONT_SIZE) - - # 创建对象 - maze = Maze(wall_size=20, maze_size=200, file_name="test") - save_ui = SaveLoadUI(font) - - # 更新存档列表 - save_ui.update_save_list(maze) - save_ui.show_save_list = True - - print(f"检测到存档数量: {len(save_ui.save_list)}") - print(f"max_visible_saves设置: {save_ui.max_visible_saves}") - - # 显示前10个存档的信息 - for i, save_info in enumerate(save_ui.save_list[:10]): - print(f"{i+1:2d}. {save_info['name']} - {save_info['save_time']}") - - clock = pygame.time.Clock() - running = True - - print("\n交互测试:") - print("- ↑↓键: 选择存档") - print("- 回车键: 加载选中存档") - print("- Delete键: 删除选中存档") - print("- N键: 新建存档") - print("- ESC键: 退出") - print("- 鼠标: 点击选择,双击加载") - - while running: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - running = False - elif event.type == pygame.KEYDOWN: - if event.key == pygame.K_ESCAPE: - running = False - else: - # 处理存档界面事件 - result = save_ui.handle_event(event, maze) - if result: - print(f"操作结果: {result}") - if result == "load_success": - print(f"成功加载存档,迷宫尺寸: {len(maze.grid)}x{len(maze.grid[0])}") - elif result == "delete_success": - print("存档删除成功") - save_ui.update_save_list(maze) - elif result == "save_success": - print("存档保存成功") - - elif event.type == pygame.MOUSEBUTTONDOWN: - result = save_ui.handle_event(event, maze) - if result: - print(f"鼠标操作结果: {result}") - - # 绘制 - screen.fill(COLOR_WHITE) - - # 绘制迷宫(如果已加载) - if hasattr(maze, 'grid') and maze.grid: - maze.draw(screen) - - # 绘制存档界面 - save_ui.draw(screen) - - # 绘制状态信息 - status_texts = [ - f"存档总数: {len(save_ui.save_list)}", - f"显示设置: 最多{save_ui.max_visible_saves}条", - f"当前选中: {save_ui.selected_save + 1 if save_ui.selected_save >= 0 else '无'}", - f"输入模式: {'是' if save_ui.input_active else '否'}" - ] - - for i, text in enumerate(status_texts): - text_surface = font.render(text, True, COLOR_BLACK) - screen.blit(text_surface, (10, 10 + i * 25)) - - pygame.display.flip() - clock.tick(60) - - pygame.quit() - - # 清理测试文件 - print("\n清理测试文件...") - for filepath in test_files: - try: - os.remove(filepath) - print(f"删除: {filepath}") - except FileNotFoundError: - pass - - print("测试完成") - -if __name__ == "__main__": - test_save_ui_complete() diff --git a/tests/test_save_ui_fix.py b/tests/test_save_ui_fix.py deleted file mode 100644 index f7703a9..0000000 --- a/tests/test_save_ui_fix.py +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -测试存档界面加载并生成路径功能 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -from maze import Maze -from SourceCollector import SourceCollector - -def test_load_via_save_ui(): - """测试通过存档界面加载存档并生成路径""" - print("=== 测试存档界面加载功能 ===\n") - - # 创建迷宫实例 - maze = Maze(wall_size=20, maze_size=400, file_name="test.csv") - - # 模拟存档界面的加载逻辑 - print("1. 模拟通过存档界面加载sample.json...") - save_file = "saves/sample.json" - - if os.path.exists(save_file): - # 执行加载 - if maze.load_game(save_file): - print("✓ 存档加载成功") - - # 模拟存档界面中的路径重新生成逻辑 - if maze.generater.maze: - maze.source_collector = SourceCollector(maze=maze.generater.maze) - maze.source_collector.run() - maze.full_path = maze.source_collector.get_path() - maze.path_step = 0 - maze.is_path_complete = False - maze.grid = maze.generater.maze - - print(f"✓ 路径重新生成成功") - print(f"迷宫大小: {maze.size}x{maze.size}") - print(f"路径长度: {len(maze.full_path)}") - print(f"路径前5步: {maze.full_path[:5]}") - print(f"路径后5步: {maze.full_path[-5:]}") - - # 验证起点和终点 - if maze.full_path: - start_pos = maze.full_path[0] - end_pos = maze.full_path[-1] - - # 检查起点是否为起点标记 - start_cell = maze.generater.maze[start_pos[0]][start_pos[1]] - end_cell = maze.generater.maze[end_pos[0]][end_pos[1]] - - print(f"路径起点: {start_pos}, 网格值: {start_cell}") - print(f"路径终点: {end_pos}, 网格值: {end_cell}") - - if start_cell == 's' and end_cell == 'e': - print("✓ 路径起点和终点验证正确") - else: - print("✗ 路径起点或终点验证失败") - return False - - return True - else: - print("✗ 迷宫数据无效") - return False - else: - print("✗ 存档加载失败") - return False - else: - print(f"✗ 文件不存在: {save_file}") - return False - -def test_multiple_saves(): - """测试加载多个不同的存档文件""" - print("\n=== 测试多个存档文件 ===\n") - - # 获取所有存档文件 - saves_dir = "saves" - if not os.path.exists(saves_dir): - print("saves目录不存在") - return False - - save_files = [f for f in os.listdir(saves_dir) if f.endswith('.json') or f.endswith('.csv')] - - if not save_files: - print("没有找到存档文件") - return False - - print(f"找到{len(save_files)}个存档文件:") - for save_file in save_files: - print(f"- {save_file}") - - # 测试加载每个文件 - results = [] - for save_file in save_files[:3]: # 只测试前3个文件 - print(f"\n测试加载: {save_file}") - - maze = Maze(wall_size=20, maze_size=400, file_name="test.csv") - full_path = os.path.join(saves_dir, save_file) - - if maze.load_game(full_path): - # 重新生成路径 - if maze.generater.maze: - maze.source_collector = SourceCollector(maze=maze.generater.maze) - maze.source_collector.run() - maze.full_path = maze.source_collector.get_path() - - print(f" ✓ 加载成功,路径长度: {len(maze.full_path)}") - results.append(True) - else: - print(f" ✗ 迷宫数据无效") - results.append(False) - else: - print(f" ✗ 加载失败") - results.append(False) - - success_count = sum(results) - print(f"\n测试结果: {success_count}/{len(results)} 个文件加载成功") - return success_count == len(results) - -if __name__ == "__main__": - success1 = test_load_via_save_ui() - success2 = test_multiple_saves() - - print(f"\n=== 总体测试结果 ===") - print(f"存档界面加载测试: {'成功' if success1 else '失败'}") - print(f"多文件加载测试: {'成功' if success2 else '失败'}") - - if success1 and success2: - print("✓ 所有测试通过!存档界面现在会正确重新生成路径。") - else: - print("✗ 部分测试失败,需要进一步检查。") diff --git a/tests/test_start_button_multiple_clicks.py b/tests/test_start_button_multiple_clicks.py deleted file mode 100644 index f0a033e..0000000 --- a/tests/test_start_button_multiple_clicks.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python3 -""" -快速测试主程序的Start按钮多次点击功能 -这个脚本模拟用户快速点击Start按钮的情况 -""" - -import sys -import os -sys.path.append(os.path.dirname(os.path.abspath(__file__))) - -print("=== Start按钮多次点击测试 ===") -print() -print("此测试将启动主程序。请按以下步骤测试:") -print() -print("1. 程序启动后,点击 [Start] 按钮生成第一个迷宫") -print("2. 观察历史步数和路径长度信息") -print("3. 点击 [历史模式] 按钮,进入历史展示模式") -print("4. 使用历史控制按钮前进几步") -print("5. 再次点击 [Start] 按钮生成第二个迷宫") -print("6. 验证:") -print(" - 历史步数应该是新的(不是之前的累加)") -print(" - 应该自动切换回路径模式") -print(" - 历史步骤应该重置为0") -print(" - 所有播放状态应该停止") -print("7. 可以重复步骤1-6多次验证") -print() -print("预期结果:") -print("- 每次点击Start后,控制台会显示'所有状态已重置'") -print("- 每次生成的历史步数是独立的新数据") -print("- 不会出现历史数据累加或状态混乱") -print("- UI应该正确显示当前模式和步数") -print() - -input("按 Enter 键启动程序进行测试...") - -try: - import main -except KeyboardInterrupt: - print("\n测试完成,程序已退出") -except Exception as e: - print(f"\n程序运行出现错误: {str(e)}") - print("请检查相关代码和依赖")