童年听的龟兔赛跑的故事,我终于用100行Python实现了!

龟兔赛跑是伊索寓言中一个耳熟能详的故事,相信大家都是听着这个故事长大的,在故事中,偷懒的兔子输给了勤劳的乌龟,启发我们要像乌龟一样勤劳。

今天,小编就带大家重温龟兔赛跑的故事,使用Python来进行龟兔赛跑的绘制

01 Turtle库的介绍

Turtle库是Python中最常使用的一个库,也是Python语言入门的首选库,通过模拟一只海龟在面板上进行爬行绘制想要的图案,受到了Python玩家的极大欢迎。

在Python的官方文档中,提供了许多精美图案的绘制,感兴趣的可以前往学习,

链接如下:https://docs.python.org/3.7/library/turtle.html

在这里,小编将介绍在本次绘制中使用的基本命令,方便大家进行下一步的学习。

02 游戏绘制

熟悉了将要使用的基本命令后,将进行进一步的绘制过程,主要包含了画布的绘制、动物的设计和赛跑三个部分,下面将一步一步进行解析。

1).画布绘制

画布的绘制包含了背景板、起点线、终点线的绘制,详细代码如下,效果如下。

关于背景板中起点线、布局、以及题目的绘制,根据尺寸确定好点的位置,进行绘制填充即可,在这里主要介绍下关于终点线的绘制,首先将光标设置为方块,在指定坐标进行盖章操作,便可得到终点线的图案。


2).动物绘制

在选择动物图标时,因为turtle库中设计中已经包含了turtle图案,不需要进行设计替换,而兔子在库中是没有提供的,小编通过资料的查询,使用turtle.register_shape("tuzi.gif"),turtle.shape("tuzi.gif")命令进行了替换,所选的图片格式必须为.gif后缀,否则系统将会报错。

在进行多个乌龟的设计时,调用Turtle类,创建多个对象作为乌龟对象,并通过turtle_make(turtle_name,colors,position)函数对其进行初始化,使其有序排列,兔子的方位仍是同样的方法,绘制的整体效果如下图所示:

3).赛跑

完成了画布和动物的设计之后,便要进行动物跑步的设计,考虑到乌龟和兔子的运动关系,乌龟运动速度在(1,5)之间随机进行选择,兔子速度则为(4,8)。

此外,兔子还有睡觉行为,比赛的规则是,当其中一方率先到达终点后,便停止比赛,公布第一名的成绩。

在程序中,我们可以看到,对于乌龟,采用随机速度进行爬行,每次循环都“勤奋”的进行爬行,而兔子虽然速度更快,但会存在“偷懒”(随机睡眠),影响整体进程。

在For循环中,每只动物依次运行,由于其程序刷新率远大于人眼,人眼会看到同时运动的情形,当五只动物中任意一只到达终点时,比赛结束。

一起看一下,演示效果

学了Python这么久,这次我终于用Python实现了童年的故事,发现还是很有趣的,有兴趣的同学可以试试哦!

限于篇幅,我们的源码没有一行一行讲讲,我们会录制详细的视频,在B站上给大家讲解,有兴趣的同学可以看一下,尝个鲜。

需要源码,可以通过下面的方式获取!

1.关注下面的二维码

2.后台输入:【龟兔】

长按2秒,输入:【龟兔】

获取源码

我们在B站上录制了大量的视频,欢迎大家交流学习

1). 花木兰到底好看不,我用Python爬取上万条评论

2). 80行Python代码一键轻松把Pdf转word

3). 用Python一键把图片转漫画

4). 再见付费软件,我用70行Python搞定

5). 用Python分析“青春有你2”

6). 用Python三步制作短视频

7). 用Python实现一个弹球游戏

8). 10行代码实现美图秀秀

9). 50行代码用Python批量做海量小姐姐素描图

点这里,直达菜鸟学Python B站
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值