【发布时间】:2021-04-13 00:25:26
【问题描述】:
我想将星星(x,y 坐标)附加到星星列表中,要求星星距离一定距离。
stars = [(0,0)]
def position_random_star() -> tuple:
''' Positions a random star where it won't overlap another star '''
while True:
x, y = random.randint(0,400), random.randint(0,200)
for item in stars:
if abs(x - item[0]) > 30 and abs(y - item[1]) > 30:
stars.append((x,y))
return (x,y)
但是,当我运行它时,它会生成靠得太近的星星。
for i in range(30):
x,y = position_random_star()
print (stars)
所以我得到这样的输出: .....(246, 112), (253, 102)....
任何帮助将不胜感激!
【问题讨论】: