Я создаю игру, в которой у меня есть пушка, которая стреляет шарами, исходящими из воздуха, поэтому я создал класс с именем ball и список с именем balls, который (очевидно) содержит шары. Каждый шар имеет значение, и каждый раз, когда он поражается снарядом, его значение уменьшается на единицу, поэтому, если значение ball.value становится равным единице, при попадании мяч удаляется из списка, и в него должен входить другой шар. Вот код для этого:
for projectile in projectiles:
for ball in balls:
if hypot(ball.rec.center[0]-projectile.center[0],ball.rec.center[1]-projectile.center[1] ) < ball.radius:
if ball.value == 1:
balls.remove(ball)
balls.append(ball((randint(1,SCREENWIDTH - 100),10),2,0))
else:
ball.shrink()
projectiles.remove(projectile)
break
когда я делаю это, в момент, когда мяч мертв, я получаю сообщение:
TypeError: 'ball' object is not callable
, но когда я ставлю balls.append(ball((randint(1,SCREENWIDTH - 100),10),2,0))
просто после инициализации списка шаров я не получаю ошибки, но на экране просто появляется другой шар. Iая судимая изменяющий Петля с ̶ ̶f̶o̶r̶ ̶b̶a̶l̶l̶o̶o̶n̶ ̶i̶n̶ ̶b̶a̶l̶l̶s̶
̶ увидеть, если ̶t̶h̶a̶t̶'̶s̶ проблемы, но без улучшения, ̶ ̶p̶r̶o̶b̶l̶e̶m̶.̶ * То же, 1009 *