# 棋盘覆盖算法 **Repository Path**: deng-yongsheng/chessboard-covering-algorithm ## Basic Information - **Project Name**: 棋盘覆盖算法 - **Description**: 棋盘覆盖分析与实现的python可视化实现,使用pygame - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-10-28 - **Last Updated**: 2023-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: JavaScript, Python ## README # 棋盘覆盖算法 #### 介绍 [棋盘覆盖算法][1](递归)的**python**实现,使用`pygame` #### 效果展示 + 第一个特殊格用红色覆盖 + k=2 的棋盘初始化效果 ![2x2](./img/2x2.png) + k=2 解算效果 ![2x2_solved](./img/2x2_solved.png) + k=4 棋盘初始化效果 ![4x4](./img/4x4.png) + k=4 棋盘解算效果 ![4x4_solved](./img/4x4_solved.png) + 更大尺寸的棋盘(k=6): ![large_scale](./img/large_scale.png) + 更大尺寸的棋盘(k=6)解算效果: ![large_scale_solved](./img/large_scale_solved.png) #### 安装 + 使用源码 + **python3** + `git clone https://gitee.com/shengnobug/chessboard-covering-algorithm` + `python3 -m pip install pygame numpy` ​ 或者 `python3 -m pip install -r requirements.txt` + 使用发行版: + 下载[发行版](https://gitee.com/shengnobug/chessboard-covering-algorithm/attach_files/865483/download/chessboard-covering.exe) #### 使用 + 初始化 ```python # 棋盘初始化参数说明 def __init__(self, k=4, CellSize=40, solve_delay: float = 0.5): ''' 初始化棋盘,棋盘格数 = 2**(k+1) :param k:棋盘的大小 :param CellSize: 每个棋盘格子的像素大小 :param solve_delay: 每一步解算的停顿时长 ''' ``` + 操作 + 运行`chessboard-covering.py`文件 + 先 **鼠标点击** 一个格子,作为起始的特殊格,用红色覆盖 + 按 **空格键** 开始解算 #### 参与贡献 1. star这个项目 2. fellow me 3. Fork 本仓库 4. 新建 Feat_xxx 分支 5. 提交代码 6. 新建 Pull Request #### 参考资料 [1]: https://www.cnblogs.com/crx234/p/5988055.html