# 创建一个用于存储游戏信息的实例
self.stats = GameStats(self)
在写入该语句之前,程序可以成功运行,但是写入之后出现报错:
Traceback (most recent call last):
File "D:/python_train/alien_invasion/alien_invasion.py", line 265, in <module>
ai = AlienInvasion()
File "D:/python_train/alien_invasion/alien_invasion.py", line 34, in __init__
self.stats = GameStats(self)
TypeError: __init__() takes 1 positional argument but 2 were given
由字面意思,初始化条件接受的只有一个信息,但是却被给予了两个信息
返回方法GameStats所在的文件,发现:
def __init__(self):
# 初始化统计信息
self.settings = ai_game.settings
self.reset_stats()
修改为:
def __init__(self,ai_game):
# 初始化统计信息
self.settings = ai_game.settings
self.reset_stats()
成功运行,且效果满足预期。