哈喽!大家好!我是木木子~
纵观之前的文章——我发现了一个特点,很多小伙伴儿都喜欢学习Turtle或游戏代码,没错吧~
那今天这篇文章就是为这2方面的小伙伴儿精心准备滴!Turtle+游戏一起安排一波啦!
从Turtle开始介绍—基础知识到实践案例这篇文章都写到了嘞!不要以为是单单一个项目哦,想学Turtle的必学篇,不要错过啦~
最后今天小编会带大家写一个利用Turtle的一款海龟闯关的三大迷宫哦!这工程量还是挺大的!都是绘制下来的话代码量比较多了撒,400行代码才完成这款“海龟闯关走迷宫的”小游戏!
一、简介1.什么是TurtleTurtle英译过来为乌龟,不过我们介绍的不是这种动物,而是以此命名的一个绘图软件。
在python文档中介绍了Turtle本身是一款简单、易上手的绘图软件,非常适合新手进入编程的世界。
海龟绘图Turtle是Python内置模块,总之是非常简单好玩的一个库。
其动作主要有:抬笔,此后的动作只是移动画笔,画布上不会留下痕迹;落笔,只要移动画笔,画布上就会留下痕迹。
画笔动作只绝对移动、相对移动、向前(后)移动、转向(绝对角度、相对角度)、圆或圆弧、点(实心圆),故画不了椭圆,绘制函数曲线困难!
2.怎么玩转Turtle当然在这里需要进入python编程环境,然后在这个python文件中就可以开始动手写有关turtle的代码。
Turtle是python安装时自带的内置模块,调用该模块非常简单,直接使用import方式加载:
import turtle 或 from turtle import *
这也是程序的第一行代码,用于准备好使用turtle这个模块。
3.画布的设置1.1设置画布大小
turtle.screensize()# 返回默认大小(400, 300)1.2以默认绘图窗口大小显示窗口,窗口居屏幕中心
turtle.screensize(width, hight[, bg])其中:width——表示画布宽度(单位像素);Hight——表示画布高度(单位像素);bg——画布背景颜色,该参数可缺省,缺省时为白色背景
1.3案例
如:
turtle.screensize(800, 600, "green"),表示画布大小为800×600,绿色画布。turtle.setup(width, hight[, x, y])其中:width, height——表示画布宽和高。当为整数时表示像素;为小数时则表示占据计算机屏幕的比例
4.设置背景/画布颜色turtle.bgcolor()二、Turtle的画笔设置turtle.pensize(size)其中:size——画笔粗细,用像素表示。
1.turtle绘图的基本方法导入turtle库绘图模块后,就可以实现绘图,基本操作是向前(后)画直线,旋转(向左向右改变方向),画圆(圆弧)等。
这里介绍几个最常用的命令。
1.1设置画笔的属性
命令 说明turtle.pensize(width)用于设置画笔的宽度(即粗细),width越大越粗turtle.pencolor(color)用于设置画笔的颜色,color参数可以是字符串如"green","red",也可以是RGB三元组turtle.shape(shape)用于设置画笔的形状,shape参数为字符串,主要包含“turtle”乌龟形状,“square”正方形形状等turtle.speed(speed)用于设置画笔的移动速度。speed参数可以是字符串如“fast”,"slow"等,也可以是0到10间的整数1.2画笔绘图的命令
命令说明turtle.fd(dis)沿当前画笔方向向前移动dist像素长度turtle.bk(dist)沿当前画笔相反方向移动dist像素长度turtle.right(degree)沿当前画笔方向向右转degree°turtle.left(degree)沿当前画笔方向向左转degree°turtle.down()将画笔放下,开始画图turtle.up()提起笔移动,不绘制图形turtle.circle()画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆setx( )将当前x轴移动到指定位置sety( )将当前y轴移动到指定位置setheading(degree)用于设置画笔的方向,参数degree为画笔方向与海龟坐标系x轴正向的夹角度数ht()用于将画笔隐藏三、最后的案例Turtle小游戏1.设计思路游戏规则这个海龟闯关的小迷宫游戏是设计了三个关卡,运行代码之后会有相应的关卡弹窗设置,想完那关可以直接玩那关, 也可以按照顺序闯关。
特别注意:
很多人担心过不了关?没关系,小编给大家开了一个挂,这个挂就是按住F1就出现了迷宫的路线图哦!按住F2就是出现了一个海龟到起点自己走路线哈!
2.准备环节小编用的Python3、Pycharm2021、Turtle模块导入即可。
然后相应的图片素材:
3.正式敲代码# -*- coding: UTF-8 -*-"""源码基地:#806965976#csdn账号:顾木子吖海龟迷宫闯关游戏"""import turtle # 导入海龟绘图模块import random # 导入随机数模块game_title = '小海龟大迷宫闯关小游戏' # 游戏名字level = 0 # 关卡'''绘制地图用的全局变量'''txt_path = 'map/map1.txt' # 地图信息文