Я делаю небольшую игру, где, когда происходят события, прямоугольники генерируются в случайных точках x и y, и у меня возникают некоторые проблемы с реализацией функций. Вот базовый код:Функции случайных чисел Python
xran = random.randint(5, 485)
yran = random.randint(5, 485)
xran1 = random.randint(5, 450)
yran1 = random.randint(5, 400)
def allRand():
#This REGENERATES those randoms making it 'spawn' in a new location.
xran = random.randint(0, 485)
yran = random.randint(0, 485)
xran1 = random.randint(5, 450)
yran1 = random.randint(5, 400)
char = pygame.draw.rect(screen, black, (x,y,15,15), 0)
food = pygame.draw.rect(screen, green, (xran,yran,10,10), 0)
badGuy = pygame.draw.rect(screen, red, (xran1,yran1,50,100), 0)
if char.colliderect(food):
score += 1
print "Your score is:",score
allRand()
Вызывает ли функция, которая восстанавливает случайные числа, для любого из вас? Я знаю, что он регенерирует их, потому что я распечатал переменные, по какой-то причине мои исправления не работают.
Примечание: Это просто фрагмент моего кода, который предназначен только для того, чтобы дать представление о том, что я пытаюсь сделать.
Спасибо!
Нет, это не так. Если вы не объявляете их global * в функции *, то их назначения в функции создают новые переменные в области функций, которые затеняют глобальные переменные. Испытайте это для себя, чтобы узнать. –
Я чувствую себя действительно глупым, извините. Спасибо за помощь. –