Возможно, это ошибка SO-paste-bug, но в коде есть одно подчеркивание, тогда как требуется двойное подчеркивание.
Я думаю, что конкретная ошибка, которую задает ваш вопрос, вызвана:
class AlienInvasion:
def _init_(self):
pygame.init()
То, что init()
, должно иметь двойное подчеркивание, например:
class AlienInvasion:
def __init__(self): # <-- HERE
pygame.init()
Таким образом, при использовании только одного подчеркивания python не распознал эту функцию _init_()
как инициализатор класса - __init__()
,и, таким образом, инициализация дисплея pygame.init()
никогда не вызывалась. Это приводит к ошибке pygame.error: video system not initialized
.
Также:
if __name__ == "__main__": # (note, double underscores on both)