python - 通电与列表一起生成,但不会重生
问题描述
我正在制作一款驾驶游戏,并且一直在研究生成的道具。我在汽车类(传入流量)中创建了一个系统,它将产生一个随机变量,如果它落在正确数量的数字之间,它将附加一个加电和一个加电产生。但是要知道如果另一辆车经过并且打印(嘿,它发生了)并且什么都不会产生。任何帮助表示赞赏
这是通电类。
class powerups(pygame.sprite.Sprite):
def __init__(self):
self.x_pos = -20
self.KC = pygame.image.load('kyle coin3.png')
self.rect = self.KC.get_rect(topleft= (self.x_pos, 0))
self.random = int
self.roadleft = 150
self.roadright = 300
self.fg = True
self.rect.x = random.randint(self.roadleft, self.roadright)
def draw(self, win):
win.blit(self.KC, self.rect.topleft)
def move(self):
self.rect.y += 5
def collisioncheck (self, anotherobject):
if self.rect.colliderect(anotherobject):
print("A collsion with a powerup has happend ")
self.rect.x = 600
self.grassdamage = 0
player.damage1 = False
player.damage2 = False
player.damage3= False
player.damage4= False
player.damage5 = False
player.damage6 = False
player.damage7 = False
player.damage8 = False
这里是加电的地方。
if self.random > 5:
print(' hey it happened')
new_powerup = powerups()
powerup_list.append(new_powerup)
else:
self.random = 10
这是调用通电的地方。
for new_powerup in powerup_list:
powerup.draw(win)
powerup.move()
powerup.collisioncheck(player.rect)
解决方案
循环变量的名称与您在循环中使用的变量的名称不同。在for
-loop 语句中使用了 name new_powerup
,但在循环中使用了 name powerup
。更改循环变量的名称:
for powerupin powerup_list:
powerup.draw(win)
powerup.move()
powerup.collisioncheck(player.rect)
推荐阅读
- php - 使用 MySQL 计算连续日线
- javascript - JavaScript:在 classList 中添加特定于类的标签
- python - 如何删除列表中的特定对象?
- java - 无法启动注册页面,toString javalang 错误
- javascript - JavaScript:根据包含的数字对字符串进行排序
- javascript - javascript - 解压缩 json,将缓冲区转换为字符串
- scala - reduceByKey 可以用于多个值吗?
- c# - 自定义存储中的 ASP.NET Core Identity 异步开销
- javascript - firebase 函数 admin SDK 获取当前项目名称/实例
- c# - 如何创建可变的 .NET 字符串?