【发布时间】:2019-12-14 12:22:13
【问题描述】:
我正在尝试进行模拟。
我的兔子应该随机移动,但我希望它们在同一方向移动更长时间,因此,为什么我使用if randomnum == 1,只改变方向 1/10 次。
但是当我运行代码时,兔子似乎每一步都会改变方向。我做错了什么?
兔子构造函数
class Rabbit(pygame.sprite.Sprite):
def __init__(self,x,y):
super().__init__()
self.image = pygame.Surface([10,10])
self.image.fill(BLUE)
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
self.xchange = 0
self.ychange = 0
self.hp = 100
兔子搬运工
for rabbit in rabbits:
randomnum = random.randint(1,10)
if randomnum == 1:
xdir = random.randint(-5,5)
ydir = random.randint(-5,5)
rabbit.xchange = xdir
rabbit.ychange = ydir
else:
continue
if rabbit.rect.x+xdir > 10 and rabbit.rect.x+xdir < 390 and rabbit.rect.y+ydir > 10 and rabbit.rect.y+ydir < 390:
rabbit.rect.x += rabbit.xchange
rabbit.rect.y += rabbit.ychange
else:
continue
【问题讨论】:
标签: python random pygame simulation