全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

如何用Python for循环实现两辆汽车相向而行

时间:2023-09-27 16:41

人气:

作者:admin

标签:

导读:要实现汽车跑动,首先我们要加载一张城市道路图作为背景图,然后就要把海龟的图形变为汽车的模样,最后实现两辆汽车相向而行的效果。 首先,加载背景图片: turtle .bgpic (picname=...

要实现汽车跑动,首先我们要加载一张城市道路图作为背景图,然后就要把海龟的图形变为汽车的模样,最后实现两辆汽车相向而行的效果。

首先,加载背景图片:

turtle.bgpic(picname=None)

turtle.bgpic(picname=None)设置背景图片或返回当前背景图片的名称。如果picname 是文件名,则将相应的图像设置为背景。如果 picname"nopic" ,则删除背景图像(如果存在)。如果 picnameNone ,则返回当前背景图像的文件名。

这里我们加载同文件目录下的背景图片如下:

import turtle
turtle.bgpic("bg1.png")  # 加载背景图片
```然后,添加汽车作为画笔形状:

turtle.register_shape(name)

`turtle.register_shape()`可以新增更多的画笔`shape`,其用法之一就是添加`gif`图片作为画笔的新形状。使用自己的图片作为画笔shape时需要注意,首先海龟仅支持`gif`图片,另外这样的画笔`shape`无论怎样设置`resizemode`均不能通过`shapesize`指令进行笔头大小设置。以图片作为`shape`,笔头的大小就是由图片本身大小所决定的。当然,`turtle.register_shape()`还可以添加用元组作为坐标描述的多边形作为画笔的`shape`,这里我们并没有用到,就不过多赘述了。

因为我们要实现两辆汽车相向而行,所以要创建两个turtle的实例,并加载不同形状的汽车,如下:

turtle.register_shape('car1.gif') # 把小车图片放入海龟可用形状仓库中,便于调用
car1 = turtle.Turtle() # 生成turtle,命名为car1
car1.shape('car1.gif')

turtle.register_shape('car2.gif')
car2 = turtle.Turtle()
car2.shape('car2.gif')

最后,就是和乌龟赛跑一样,利用`for`循环实现汽车一起运行的效果:

car1.penup() # 抬笔,不要留下轨迹
car2.penup()

car1.goto(-300, -110)
car2.goto(300, -200)

car2.left(180)

car1.speed(2)
car2.speed(2)

for sp in range(1, 80):
car1.forward(sp)
car2.forward(sp)

turtle.done()

所以,所有总的代码是:

import turtle
turtle.bgpic("bg1.png") # 加载背景图片

turtle.register_shape('car1.gif') # 把小车图片放入海龟可用形状仓库中,便于调用
car1 = turtle.Turtle() # 生成turtle,命名为car1
car1.shape('car1.gif')

turtle.register_shape('car2.gif')
car2 = turtle.Turtle()
car2.shape('car2.gif')

car1.penup() # 抬笔,不要留下轨迹
car2.penup()

car1.goto(-300, -110)
car2.goto(300, -200)

car2.left(180)
car1.speed(2)
car2.speed(2)
for sp in range(1, 80):
car1.forward(sp)
car2.forward(sp)
turtle.done()


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信