class Game(object): def __init__(self): # Configuracja self.max_tps = 100.0 self.res = (1080, 720) # Inicjalizacja self.screen = pg.display.set_mode((0, 0), pg.FULLSCREEN) #self.screen = pg.display.set_mode((1000,750)) pg.init() pg.display.set_caption("Game") self.tps_clock = pg.time.Clock() self.tps_delta = 0.0 self.bulletsList = list() self.enemyList = list() img_dir = path.join(path.dirname(__file__), "img/") eeg_dir = path.join(path.dirname(__file__), "img/eeg/") sound_dir = path.join(path.dirname(__file__), "sound/") diff = open("diff.txt", "r") self.diff = diff.read() diff.close() self.tomekr = pg.image.load(eeg_dir + "TTr.png") self.tomekl = pg.image.load(eeg_dir + "TTl.png") self.eship = pg.image.load(img_dir + "eship.png") self.pship = pg.image.load(img_dir + "pship.png") self.bullimg = pg.image.load(img_dir + "bullet.png") self.background = pg.image.load(img_dir + "background2.jpg") self.jeden = pg.image.load(eeg_dir + "1ka.png") self.eeglist = [ pg.image.load(eeg_dir + "en1.png"), pg.image.load(eeg_dir + "en2.png"), pg.image.load(eeg_dir + "en3.png"), pg.image.load(eeg_dir + "en4.png"), pg.image.load(eeg_dir + "en5.png"), pg.image.load(eeg_dir + "en6.png"), pg.image.load(eeg_dir + "en7.png"), pg.image.load(eeg_dir + "en8.png"), pg.image.load(eeg_dir + "en9.png"), pg.image.load(eeg_dir + "en10.png") ] self.explist = [ pg.image.load(img_dir + "expl1.png"), pg.image.load(img_dir + "expl2.png"), pg.image.load(img_dir + "expl3.png"), pg.image.load(img_dir + "expl4.png"), pg.image.load(img_dir + "expl5.png"), pg.image.load(img_dir + "expl6.png"), pg.image.load(img_dir + "expl7.png"), pg.image.load(img_dir + "expl8.png") ] self.expsound = pg.mixer.Sound(sound_dir + "bum.wav") self.shootsound = pg.mixer.Sound(sound_dir + "shoot.wav") self.rocketexpsound = pg.mixer.Sound(sound_dir + "rocketbum.wav") self.lbsb = pg.mixer.Sound(eeg_dir + "lbsb.wav") pg.mixer.music.load(sound_dir + "soundtrack.mp3") pg.mixer.music.play(-1) self.green = (80, 180, 30) self.orange = (230, 70, 10) self.white = (255, 255, 255) self.tom = 0 self.player = Rocket(self) self.bullet = Bullet(self, self.player) self.enemy = Enemy(self, self.player, self.bullet) self.collision = Collision(self, self.player, self.bullet, self.enemy) while True: # Obsluga zdarzen for event in pg.event.get(): if event.type == pg.QUIT: sys.exit(0) elif event.type == pg.KEYDOWN and event.key == pg.K_ESCAPE: sys.exit(0) elif event.type == pg.KEYDOWN and event.key == pg.K_r: system("Start.exe") sys.exit(0) elif event.type == pg.KEYDOWN and event.key == pg.K_SPACE: in_bullet = Bullet(self, self.player) in_bullet.shoot() self.bulletsList.append(in_bullet) elif event.type == pg.KEYDOWN and event.key == pg.K_q: in_enemy = Enemy(self, self.player, self.bullet) in_enemy.enemymake() self.enemyList.append(in_enemy) if self.diff == "Easy": self.enemies = 5 + int(time.process_time() / 9) elif self.diff == "Medium": self.enemies = 7 + int(time.process_time() / 6.5) elif self.diff == "Hard": self.enemies = 9 + int(time.process_time() / 5) # Taktowanie self.tps_delta += self.tps_clock.tick() / 1000.0 while self.tps_delta > 1 / self.max_tps: self.tick() self.tps_delta -= 1 / self.max_tps # Renderowanie if self.tom == 1: self.screen.fill((0, 0, 0)) elif self.tom == 0: self.screen.fill((0, 0, 0)) #self.screen.blit(self.background,(0,0)) self.draw() pg.display.flip() def tick(self): for item in self.bulletsList: item.tick() self.player.tick() self.collision.tick() for item in self.enemyList: item.tick() if self.player.pressed[pg.K_t] and self.player.pressed[pg.K_y]: if self.tom == 0: self.lbsb.play() self.tom = 1 if len(self.enemyList) < self.enemies: in_enemy = Enemy(self, self.player, self.bullet) in_enemy.enemymake() self.enemyList.append(in_enemy) def draw(self): for item in self.bulletsList: item.draw() for item in self.enemyList: item.draw() self.player.draw() self.collision.draw()