# PushBox **Repository Path**: lipz89/PushBox ## Basic Information - **Project Name**: PushBox - **Description**: 推箱子游戏模拟,以及自动求解算法 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-25 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PushBox PushBox 是一个经典的推箱子游戏实现,该项目基于 C# 和 Windows Forms 开发,支持自动解题功能,具有多种自动解题算法实现。 ## 功能特性 - 经典推箱子游戏玩法。 - 多种自动解题算法: - `Auto`: 基础自动解题器。 - `AutoAsync`: 异步多线程解题器。 - `AutoAsyncSingleQueue`: 异步单队列解题器。 - `AutoLessPush`: 优化减少箱子推动次数的解题器。 - `AutoSingleQueue`: 单队列解题器。 - 支持加载多个关卡。 - 支持撤销操作和游戏状态保存。 ## 项目结构 - `Game.cs`: 游戏核心逻辑。 - `GameState.cs` / `GameState2.cs`: 游戏状态表示与管理。 - `Auto*.cs`: 不同策略的自动解题实现。 - `frmGame.cs`: 主界面与用户交互逻辑。 - `Maps.cs`: 关卡数据管理。 - `Step.cs`: 步骤记录类。 ## 使用方法 1. 克隆仓库: ```bash git clone https://gitee.com/lipz89/PushBox.git ``` 2. 使用 Visual Studio 打开 `PushBox.sln`。 3. 编译并运行项目。 4. 在游戏界面中使用方向键控制角色移动,使用快捷键触发自动解题功能。 ## 贡献指南 欢迎提交 Pull Request 来改进 PushBox。请确保遵循项目代码风格,并在提交前测试功能完整性。 ## 许可证 本项目采用 MIT License,请参阅 [LICENSE](LICENSE) 文件获取详细信息。