如何在循环中向下移动一只乌龟



所以我在虚拟编程类中学习python,我有一个分配,必须在其中使用乌龟图形创建图片。我正在使用程序中的循环和程序员定义的功能之类的东西,但是我在图片中要做的事情遇到了问题。我正在绘制天空中的云,并且正在尝试使云在不同的位置上绘制。我将X坐标的增量增加到40,但我试图使云越来越高。它在此代码列表的末尾:

import turtle
def backFill(b, c, x, y, l, h):
    b.penup()
    b.setpos(x, y)
    b.color(c)
    b.pendown()
    b.begin_fill()
    for side in range(2):
        b.forward(l)
        b.left(90)
        b.forward(h)
        b.left(90)
    b.end_fill()
def drawCloud(c, x, y):
    c.penup()
    c.setpos(x, y)
    c.pendown()
    c.color("grey")
    c.begin_fill()
    for side in range(5):
        c.circle(10)
        c.left(80)
    c.end_fill()
def main():
    print("Cars")
    joe = turtle.Turtle()
    joe.speed(0)
    backFill(joe,"green",-200,-100,400,25)
    backFill(joe,"black",-200,-75,400,75)
    backFill(joe,"green",-200,0,400,25)
    backFill(joe,"sky blue",-200,25,400,110)
    x=-192.5
    for side in range(10):
        backFill(joe,"yellow",x,-40,25,5)
        x=x+40
    x=-180
    y=100
    for side in range(15):
        drawCloud(joe,x,y)
        x=x+40
        y=y-10
main()

当前云逐渐下降,因为每个云是绘制的,但我要做的是在一个不同高度上制作云,例如一个云,即接下来的90,然后返回100,等等。我尝试了y=y-10, y+10之类的东西来看如果第一次重复它将下降10,那么下次它将上升10。

https://gyazo.com/3AD5268231B3217B81636CC07070573B75

tl; DR/更简单的解释:我正在尝试上下移动循环图片,因此不仅仅是直线。我将如何向下移动一次,然后在循环中再上一次?

您可以检查side是否甚至是奇怪的,以决定是增加还是减少云位置。喜欢:

for side in range(15):
    drawCloud(joe,x,y)
    x=x+40
    if(side%2==0):
        y=y-10
    else:
        y=y+10
for side in range(5):
    drawCloud(joe,x,y)
    x=x+40
    y=y-10
    drawCloud(joe,x,y)
    x=x+40
    y=y+10

相关内容

最新更新