|
本帖最后由 test123 于 5-6-2025 18:04 编辑
终于在23:59之前提交了(
在遥远的中C课,我们曾经做过一个项目——pacman.这个项目曾经是为了研究深度优先与广度优先搜索,而我在此基础上增加多种功能,最终完成maze++软件。
功能:
1.生成迷宫
运行就会帮你自动生成一个迷宫,但是参数要自己填(可以不填),并且截图保存在同一个目录下(可以分享给小伙伴解)
迷宫的起点默认在左上角,终点在右上角。起点是绿色的,但是会被"自己"遮住,终点是红的,墙是黑的,路是白的。
推荐参数:
横向边长:随便,建议是2^n,不要小于16或大于512,否则会出bug
可视化寻路:0快,1慢
可视化生成:0/False 开了会生成很慢
缩放比例:即最终屏幕大小为 横向边长*缩放比例,推荐是512/横向边长
2.手动走迷宫
生成完之后,会把迷宫显示出来,这时候按小键盘的上下左右键可以移动自己(彩色方块)
注意:按一下走一步,目前还没有实现长按的功能
走到终点后按两次r即可重新生成
3.自动解迷宫
同样是生成完,按R键可以对这个迷宫求解,当寻路可视化时,绿色是目前走的路/正确的路,红色是死路,蓝色是正在搜索的路,否则全都是蓝色。
注意:每寻路一步都会有寻路延迟(参数中有,默认50ms),单位ms
搜索完成后(如下图)再按一次R即可重新生成。
4.键位
上下左右键:移动
r:寻路/(寻路完成后)重新生成
e:显示正确路线以及寻路过程
c:隐藏正确路线以及寻路过程
l:以线的形式显示正确路线(来回切换,默认关)
m:输出当前你的坐标
d:切换dfs/bfs
结构:
无穷无尽的def与无穷无尽的class,没有什么亮点
一些bug:
生成迷宫时有极小概率会生成不全
生成用时过长(没有进度条)
截图有问题
例子:
↑BFS
↑DFS
呃啊!附赠一个迷宫,谁会解?(使用本应用生成)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|