好的,所以这段代码使用乌龟图形绘制一个正方形,然后在屏幕上创建大约300个随机放置的点。我可以在我当前的代码中添加或更改什么,以使点在广场内的土地改变颜色,例如红色。而外面的圆点保持相同的颜色?有一个简单的方法吗?任何人都可以添加任何代码吗?提前谢谢。
from turtle import *
from random import randint
speed("fastest")
area_size = 800
max_coord = area_size / 2
num_dots = 300
setup(area_size, area_size)
penup()
goto(-200, -200)
pendown()
goto(200, -200)
goto(200, 200)
goto(-200,200)
goto(-200,-200)
goto(200,200)
for _ in range(num_dots):
dots_pos_x = randint(-max_coord, max_coord)
dots_pos_y = randint(-max_coord, max_coord)
penup()
goto(dots_pos_x, dots_pos_y)
dot(7)
pendown()
hideturtle()
done()
答案 0 :(得分:0)
我在你的for循环中添加了几行代码来执行你所要求的:
for _ in range(num_dots):
dots_pos_x = randint(-max_coord, max_coord)
dots_pos_y = randint(-max_coord, max_coord)
penup()
goto(dots_pos_x, dots_pos_y)
if -200 <= dots_pos_x <= 200 and -200 <= dots_pos_y <= 200:
pencolor((255, 0, 0))
else:
pencolor((0, 0, 0))
dot(7)
pendown()
答案 1 :(得分:0)
关于你在Brionius'答案中的评论,如果你有一个尺寸合适的正方形并且对角线贯穿两个角(即从底角到顶角),你需要做的就是:
if(xcor() < ycor()):
# Do whatever
else :
# Do whatever
这是因为我们假设通过正方形的对角线的梯度为1.我希望自己清楚。