欢迎来到亿配芯城! | 免费注册
你的位置:芯片交易网IC交易网-亿配芯城 > 芯片资讯 > 如何用Python for循环实现两辆汽车相向而行
如何用Python for循环实现两辆汽车相向而行
发布日期:2024-01-01 13:08     点击次数:71

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

首先,加载背景图片:

turtle.bgpic(picname=None)

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

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

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

turtle.register_shape(name)

`turtle.register_shape()`可以新增更多的画笔`shape`,其用法之一就是添加`gif`图片作为画笔的新形状。使用自己的图片作为画笔shape时需要注意,首先海龟仅支持`gif`图片,另外这样的画笔`shape`无论怎样设置`resizemode`均不能通过`shapesize`指令进行笔头大小设置。以图片作为`shape`,
ATMEGA系列ATMEL芯片COM笔头的大小就是由图片本身大小所决定的。当然,
电子元器件PDF资料大全芯片交易网IC交易网`turtle.register_shape()`还可以添加用元组作为坐标描述的多边形作为画笔的`shape`,
EEPROM带电可擦可编程存储器芯片大全这里我们并没有用到,CMOS图像传感器集成电路芯片就不过多赘述了。

因为我们要实现两辆汽车相向而行,
芯片交易网IC交易网所以要创建两个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()