如何用Python编写一个高效的迷宫生成器算法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4494个文字,预计阅读时间需要18分钟。
首先展示一下效果图:+ 我们先分析一下所需的库:+ 如果是生成器,每次生成的迷宫一模一样显然是不够的。因此,我们不可避免地需要使用随机数(Random库)。+ 迷宫一定要绘制出来。“
首先展示一下效果图:
我们先分析一下所需的库:
既然是生成器,每次生成的迷宫一模一样显然是说不过去的。因此,我们不可避免地要使用随机数(Random库)。迷宫一定是要绘制的,所以需要有一个GUI库或绘图库,这里我使用Pygame(Tkinter或Turtle其实都可以做到,但毕竟Pygame比较顺手)。在使用Pygame时似乎也需要Sys(用于退出程序),不过即使没有使用,也不会有太大影响。下面是对原句的重写: 接下来我们有Tkinter.filedialog,它主要用于询问迷宫生成后的保存路径。毕竟,生成好的迷宫需要保存下来。当然,用Time加一个计时器似乎是锦上添花。
于是,就有:
#coding:utf-8 import contextlib with contextlib.redirect_stdout(None): import pygame import random import sys import time from tkinter.filedialog import *
这里要说明的是,由于导入Pygame时会输出版本信息等很多内容(这很影响美感),我们需要使用Contextlib阻止它输出。
本文共计4494个文字,预计阅读时间需要18分钟。
首先展示一下效果图:+ 我们先分析一下所需的库:+ 如果是生成器,每次生成的迷宫一模一样显然是不够的。因此,我们不可避免地需要使用随机数(Random库)。+ 迷宫一定要绘制出来。“
首先展示一下效果图:
我们先分析一下所需的库:
既然是生成器,每次生成的迷宫一模一样显然是说不过去的。因此,我们不可避免地要使用随机数(Random库)。迷宫一定是要绘制的,所以需要有一个GUI库或绘图库,这里我使用Pygame(Tkinter或Turtle其实都可以做到,但毕竟Pygame比较顺手)。在使用Pygame时似乎也需要Sys(用于退出程序),不过即使没有使用,也不会有太大影响。下面是对原句的重写: 接下来我们有Tkinter.filedialog,它主要用于询问迷宫生成后的保存路径。毕竟,生成好的迷宫需要保存下来。当然,用Time加一个计时器似乎是锦上添花。
于是,就有:
#coding:utf-8 import contextlib with contextlib.redirect_stdout(None): import pygame import random import sys import time from tkinter.filedialog import *
这里要说明的是,由于导入Pygame时会输出版本信息等很多内容(这很影响美感),我们需要使用Contextlib阻止它输出。

