我试图用海龟来表示一个十字路口。为此,我需要同时从不同方向移动车辆(海龟)。我发现ontimer()方法可以使用,但在我的例子中似乎不起作用。这是密码
dist_1 = random.randint(5,15)
length_1 = 0
while length_1<1:
for i in range(3):
for j in range(3):
vehicles_1[i][j].speed(0)
vehicles_1[i][j].forward(dist_1)
length_1 = vehicles_1[i][j].xcor()
time.sleep(5)
while length_1<200:
for i in range(3):
for j in range(3):
vehicles_1[i][j].forward(dist_1)
length_1 = vehicles_1[i][j].xcor()
screen.ontimer(Moving_vehicles_1, 100)
def Moving_vehicles_2(vehicles_2):
dist_2 = random.randint(5,15)
length_2 = 0
while length_2>80:
for i in range(3):
for j in range(3):
vehicles_2[i][j].speed(0)
vehicles_2[i][j].forward(dist_2)
length_2 = vehicles_2[i][j].ycor()
time.sleep(5)
while length_2>-150:
for i in range(3):
for j in range(3):
vehicles_2[i][j].forward(dist_2)
length_2 = vehicles_2[i][j].ycor()
screen.ontimer(Moving_vehicles_2, 100)
所以基本上我在创造两套车辆。他们应该移动一定距离,停一会儿,然后再开始移动。这应该同时发生
我还需要避免海龟的碰撞。如果你想知道怎么做,请提一下
请提供您知道的任何解决方案或源链接。提前谢谢
编辑1:我知道NetLogo可以用来避免冲突,但我实际上不知道如何导入和使用它
很难突然修复您的代码,但是如果您想移动不发生碰撞的乌龟,例如,您也可以使用以下代码,让乌龟检查前进状态,如果它是空单元格,然后使用您选择的变量将其设置为1等,例如在本例中[设置okgo 1]。在下面的ask语句中,如果okgo变量的状态为1,您可以告诉他们转到[forward 1]。必须每周一次执行此程序
相关问题 更多 >
编程相关推荐