I'm going through a tutorial and trying to build a game using Python and struggling to resolve below error. Not sure what I'm missing here can someone help with it
Alien_invasion.py
import sys
import pygame
from settings import Settings
from ship import Ship
class AlienInvasion:
"""Overall Class to manage game assets and behavior.."""
def __int__(self):
"""Initialize the game and create game resources.."""
pygame.init()
self.settings = Settings() #pygame.display.set_mode((1200,800))
self.screen = pygame.display.set_mode((self.settings.screen_width,self.settings.screen_height))
self.ship = Ship(self)
#pygame.display.set_caption("Alien Invasion")
#Set the background color
#self.bg_color = (230,230,230)
def run_game(self):
""" Start the main loop for the game..."""
running = True
while running:
#Watch for Keyboard and mouse events.
for event in pygame.event.get():
if event.type == pygame.QUIT:
#pygame.QUIT()
#running = False
sys.exit()
#Redraw the screen during each pass through the loop
self.screen.fill(self.settings.bg_color)
self.ship.blitme()
# Make the most recently drwan screen visible.
pygame.display.flip()
if __name__ == '__main__':
## Make a game instance and run the game.
ai= AlienInvasion()
ai.run_game()
settings.py
class Settings:
"""A class to store all the settings related for Alien Invasion...! """
def __int__(self):
"""Initialize game settings..! """
#screen settings
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230,230,230)
ship.py
import pygame
class Ship:
""" A class to Manage the ship...! """
def __int__(self,ai_game):
""" Initialize the ship and set its starting position...! """
self.screen = ai_game.screen
self.screen_rect = ai_game.screen.get_rect()
# Load the ship image and get its rect.
self.image = pygame.image.load('images/ship.bmp')
self.rect = self.image.get_rect()
# Start each new ship at the bottom center of the screen.
self.rect.midbottom = self.screen_rect.midbottom
def blitme(self):
""" Draw the ship at its current location...! """
self.screen.blit(self.image,self.rect)
Error
C:\Users\user\PycharmProjects\pythonLearningProject\venv-dev\Scripts\python.exe C:\Users\user\PycharmProjects\pythonLearningProject\alien_invasion.py
pygame 2.1.2 (SDL 2.0.18, Python 3.9.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "C:\Users\user\PycharmProjects\pythonLearningProject\alien_invasion.py", line 45, in <module>
ai.run_game()
File "C:\Users\user\PycharmProjects\pythonLearningProject\alien_invasion.py", line 26, in run_game
for event in pygame.event.get():
pygame.error: video system not initialized
Process finished with exit code 1