def creat_left_ships(setting, screen, stats, left_ships): ship = Ship(setting, screen, 'ico_ship') ship_width = ship.rect.width for left_ship_number in range(stats.ship_left): left_ship = Ship(setting, screen, 'ico_ship') left_ship.rect.x = left_ship_number * ship_width left_ship.rect.y = 5 left_ships.add(left_ship)
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) self.level = StatusWithText(self, 100, 580, 'Level: %d', 1) self.level_wait = 0 # StatusWithText encap self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) self.score_wait = 0 self.bomb_power = StatusWithText(self, 700, 20, 'Power: %d%%', BOMB_FULL_POWER) self.bomb_wait = 0 self.elements.append(self.ship) self.enemies = [] self.bullets = [] # strategy pattern self.enemy_creation_strategies = [ (0.2, StarEnemyGenerationStrategy()), (1.0, EdgeEnemyGenerationStrategy()) ] # CoR pattern self.init_key_handlers() # canvas configure self.canvas.configure(bg="darkgray") for item in [self.level, self.score, self.bomb_power]: self.canvas.itemconfigure(item.label_text.canvas_object_id, fill="white")
def run_game(): pygame.init() setting = Setting() screen = pygame.display.set_mode( (setting.screen_with, setting.screen_height)) pygame.display.set_caption(setting.title) stats = GameStats(setting) stats.max_score = gf.get_record_score() gf.check_joystick(stats) play_button = Button(screen, 'Play Game') score_b = Scoreboard(setting, screen, stats) ship = Ship(setting, screen) bullets = Group() aliens = Group() left_ships = Group() gf.creat_left_ships(setting, screen, stats, left_ships) while True: gf.check_event(setting, screen, stats, play_button, ship, aliens, bullets, score_b) if stats.game_active: ship.update_place(setting) gf.update_bullet(setting, stats, bullets, aliens, score_b) gf.update_aliens(setting, screen, stats, ship, aliens, bullets) gf.update_screen(setting, screen, stats, ship, aliens, bullets, play_button, score_b, left_ships)
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) self.score_wait = 0 self.level = 1 self.level_text = Text(self, '', 100, 580) self.update_level_text() self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) self.bomb_power = BOMB_FULL_POWER self.bomb_wait = 0 self.bomb_power_text = Text(self, '', 700, 20) self.update_bomb_power_text() self.elements.append(self.ship) self.power_up = [] self.enemies = [] self.bullets = [] self.enemy_creation_strategies = [ StarEnemyGenerationStrategy(), EdgeEnemyGenerationStrategy(), GhostEnemyGenerationStrategy() ] self.init_key_handlers()
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) # self.level = 1 # self.level_text = Text(self, '', 100, 580) self.level = StatusWithText(self, 100, 580, 'Level: %d', 1) # self.update_level_text() self.score_wait = 0 # self.score = 0 # self.score_wait = 0 # self.score_text = Text(self, '', 100, 20) # self.update_score_text() self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) # self.bomb_power = BOMB_FULL_POWER self.bomb_wait = 0 # self.bomb_power_text = Text(self, '', 700, 20) self.bomb_power = StatusWithText(self, 700, 20, 'Power: %d', BOMB_FULL_POWER) # self.update_bomb_power_text() self.elements.append(self.ship) self.enemies = [] self.bullets = [] self.enemy_creation_strategies = [(0.2, StarEnemyGenerationStrategy()), (1.0, EdgeEnemyGenerationStrategy())] self.init_key_handlers()
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) self.level = StatusWithText(self, 100, 580, 'Level: %d', 1) self.score_wait = 0 # --- remove this # self.score = 0 # self.score_text = Text(self, '', 100, 20) # self.update_score_text() # --- replace with: self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) self.bomb_power = BOMB_FULL_POWER self.bomb_wait = 0 self.bomb_text = StatusWithText(self, 700, 20, 'Power: %d%%', self.bomb_power) self.elements.append(self.ship) self.enemy_creation_strategies = [[0.2, StarEnemyGenerationStrategy()], [1.0, EdgeEnemyGenerationStrategy()]] self.enemies = [] self.bullets = [] self.init_key_handlers()
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) # Debugging: Avoid death # This is a bad practice. GameApp should not access argument. # TODO: Refactor this self.is_debugging = len(sys.argv) >= 2 self.level = StatusWithText(self, 100, 580, 'Level: %d', 1) self.level_wait = 0 self.score_wait = 0 self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) self.bomb_power = StatusWithText(self, 700, 20, 'Power: %d%%', BOMB_FULL_POWER) self.bomb_canvas_id = None self.bomb_wait = 0 self.elements.append(self.ship) self.init_key_handlers() self.enemies = [] self.bullets = []
def init_game(self): self.background = Sprite( self, "images/background.png", CANVAS_WIDTH//2, CANVAS_HEIGHT//2) self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) self.level = StatusWithText( self, 100, CANVAS_WIDTH-CANVAS_WIDTH*0.3, 'level: %d', 1) self.score_wait = 0 self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) self.enemy_creation_strategies = [ [0.09, TieFighterEnemyGeration()], [0.03, StarEnemyGenerationStrategy()], [0.8, EdgeEnemyGenerationStrategy()] ] self.bomb_power = StatusWithText( self, CANVAS_WIDTH-100, 20, 'power: %d', BOMB_FULL_POWER) self.bomb_wait = 0 self.bomb_power_text = Text(self, '', 700, 20) self.health = StatusWithText( self, 700, CANVAS_WIDTH-CANVAS_WIDTH*0.3, 'health: %d', 4) self.elements.append(self.ship) self.boss = None self.turbo_power() self.enemies = [] self.bullets = [] self.init_key_handlers()
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) self.level = StatusWithText(self, 100, 580, 'Level: %d', 0) self.score_wait = 0 self.score = StatusWithText(self, 100, 20, 'Score: %d', 0) self.bomb_wait = 0 self.bomb_power = StatusWithText(self, 700, 20, 'Power: %d%%', 0) self.elements.append(self.ship) self.enemy_creation_strategies = [(0.2, StarEnemyGenerationStrategy()), (1.0, EdgeEnemyGenerationStrategy())] self.init_key_handlers() self.enemies = [] self.bullets = []
def init_game(self): self.ship = Ship(self, CANVAS_WIDTH // 2, CANVAS_HEIGHT // 2) self.level = 1 self.level_text = Text(self, '', 100, 580) self.update_level_text() self.score = 0 self.score_wait = 0 self.score_text = Text(self, '', 100, 20) self.update_score_text() self.bomb_power = BOMB_FULL_POWER self.bomb_wait = 0 self.bomb_power_text = Text(self, '', 700, 20) self.update_bomb_power_text() self.elements.append(self.ship) self.enemies = [] self.bullets = []