【发布时间】:2016-02-19 10:12:10
【问题描述】:
我是 Python 的初学者,并且是 Stack Exchange 的新手。我正在尝试编写一个程序,让 5 只海龟在一个正方形内移动。我有代码可以做我想做的事,但它很乏味,我想用类来初始化我所有的海龟,而不是一一做。我只是希望他们从随机坐标和随机标题开始。
我的代码的问题:
屏幕上只显示一只海龟。下面的代码中定义了两个。
海龟的航向和坐标未初始化。
这是我尝试过的代码:
import numpy as np
from turtle import *
# setting up screen
reset()
screensize(550)
Screen().bgcolor('black')
tracer(0)
# drawing box
t0 = Turtle()
t0.penup()
t0.goto(-256,-256)
t0.color('cyan')
t0.pendown()
for i in range(4):
t0.forward(512)
t0.left(90)
t0.ht()
# parameters
velocity = 5
iterations = 200
boxsize = 512
ranheader = np.random.random()*360
ranx = np.random.random()*boxsize
rany = np.random.random()*boxsize
class turtle_agents(Turtle):
def _init_(self):
self.up()
self.seth(ranheader)
self.setpos(ranx,rany)
self.velocity = velocity
self.down()
# turtle
t1 = turtle_agents()
t1.color('green')
t2 = turtle_agents()
t2.color('blue')
# turtle movement
for turtle in turtles():
for i in range(iterations):
turtle.forward(velocity)
if turtle.xcor() >= 256:
turtle.goto(-256,t0.ycor())
elif turtle.xcor() <= -256:
turtle.goto(256,t0.ycor())
elif turtle.ycor() >= 256:
turtle.goto(t0.xcor(),-256)
elif turtle.ycor() <= -256:
turtle.goto(t0.xcor(),256)
update()
exitonclick()
【问题讨论】:
-
也许两只海龟都站在同一个地方,所以你只看到一只?
标签: python class turtle-graphics