Python迷宫游戏
大家好!我是晨晨💓
希望大家多多支持我!
为了感谢每一个关注我的小可爱:💓文章留言“学习”即可获取晨晨精心准备的学习大礼包书籍教程,都是无偿分享滴💓
最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~
————————————————
1. 简介
利用Python中的turtle库设计出一个由键盘控制的迷宫,并可利用深度优先遍历进行求解最优通关路径。
2. 实验环境
Pycharm
3. 各部分代码详解
(1) 定义迷宫关卡
以二维数组的形式可以设置迷宫,这里以字符串数组代替,便于书写,其中’X’对应的是墙体,'P’对应的是玩家,'G’对应的是金币,空格对应的是可通过的道路。
#定义关卡列表
levels=[]
#定义第一关
le1=[
"XXXXXXXXXXXXXXXXXXXXXXXXX",
"XXX XXXXXX XXXXXXXXXXX",
"XXXP XXXXXXX XXXXXXXXXXX",
"XXX XXXXXXX XXXXXXXXXXX",
"FGG XXXX",
"XXXXXXX XXXX XXXXX XXXX",
"XXXXXXXXXXXX XXXXXE EXX",
"XXXXXXXXXXXX XXXXX XXX",
"XXXXXXXXXXXX XXXXX XX",
"XX XX",
"XXXX XXXXXX XXXX XXXXX",
"XXXX XXXXXX XXXXXXXXXXX",
"XXXXE XXXXXXXX",
"XXXXXXXXXXEXXXX XXXXXXXX",
"XXXXXXXXXXXXXXX XXXXXXXX",
"XXXXXXXXXXXXXXX XXEXXXXX",
"XX XXXXXXXX",
"XX XXXXXXXXXXXXXXXXXXXX",
"XX XXXXX X",
"XX XXXXXXXXXXXXX XXXXX",
"XX XXXXXXXXXXX XXXXX",
"XX XXXX X",
"XXXX X",
"XXXXXXXXXXXXXXXXXXXXXXXXX"
]
#定义第二关
le2=[
"XXXXXXXXXXXXXXXXXXXXXXXXX",
"XXX XXXXXX XXXXXXXXXXX",
"XXXP XXXXXXX XXXXXXXXXXX",
"XXX XXXXXXX XXXXXXXXXXX",
"XXX XXXX",
"XXXXXXX XXXX XXXXX XXXX",
"XXXXXXXGXXXX XXXXXE EXX",
"XXXXXXXXXXXX XXXXX XXX",
"XXXXXXXXXXXX XXXXX XX",
"XX XX",
"XXXX XXXXXX XXXX GXXXX",
"XXXX XXXXXX XXXXXXXXXXX",
"XXXXE XXXXXXXX",
"XXXXXXXXXXEXXXX XXXXXXXX",
"XXXXXXXXXXXXXXX XXXXXXXX",
"XXXXGXXXXXXXXXX XXEXXXXX",
"XX XXXXXXXX",
"XX XXXXXXXXXXXXXXXXXXXX",
"XX XXXXX X",
"XX XXXXXXXXXXXXX XXXXX",
"XX XXXXXXXXXXX XXXXX",
"XX XXXX X",
"XXXX F",
"XXXXXXXXXXXXXXXXXXXXXXXXX"
]
#存放入关卡列表中
levels.append(le1)
levels.append(le2)
(2) 利用海龟库建立迷宫背景
import turtle as t
maze=t.Screen()
#700x700大小
maze.setup(700,700)
#背景设为黑色
maze.bgcolor('black')
(3) 注册一下需要使用到的图片
注意,图片的格式是gif,图片的大小是24x24,这取决于每个矩阵元素占多大的像素大小,和代码文件放在同一个文件夹下。
#只有利用turtle.register_shape()函数注册过后的图片,才能作为后续画笔的形状。
#墙砖图片
maze.register_shape("wall.gif")
#向右的小人
maze.register_shape("right.gif")
#向左的小人
maze.register_shape("left.gif")
#金币图片
maze.register_shape("glod.gif")
#这也是备选的小人
maze.register_shape("dog_left.gif")
maze.register_shape("dog_right.gif")
#终点旗子图片
maze.register_shape("flag.gif"