def run_game(): # Initialize game and create a screen object. pygame.init() ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # Make the Play button. play_button = Button(ai_settings, screen, "Play") # Create an instance to store game statistics and create a scoreboard. stats = GameStats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # Make a ship, a group of bullets, and a group of aliens. ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() # Create the fleet of aliens. gf.create_fleet(ai_settings, screen, ship, aliens) # Start the main loop for the game. while True: gf.check_events(ai_settings, screen, stats, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): # Inicia o jogo e cria um objeto para a tela pygame.init() ai_settings = Settings() ai_settings.set_icon("alien_icon_32x32.bmp") # cria uma tela com as dimensões de ai_settings screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) # type: Surface pygame.display.set_caption("Alien Invasion") # cria o grupo de projéteis, todos disparados ficaram aqui bullets_group = Group() aliens_group = Group() # cria a espaçonave ship = Ship(ai_settings, screen) # cria a frota de aliens gf.create_fleet(ai_settings, screen, ship.rect.height, aliens_group) # cria a instancia para estatísticas stats = GameStats(ai_settings) score_board = Scoreboard(ai_settings, screen, stats) # cria a instancia do botão play btn_play = Button(screen, "Play") # Inicia o laço principal do jogo # neste onde ocorre todos os eventos while True: # escuta de eventos de mouse ou teclado gf.check_events(ai_settings, screen, stats, score_board, btn_play, ship, aliens_group, bullets_group) if stats.game_active: # atualiza a posição da nave ship.update() # atualiza e limpa os projéteis gf.update_bullets(ai_settings, screen, stats, score_board, ship.rect.height, bullets_group, aliens_group) # atualiza a posição dos aliens gf.update_aliens(ai_settings, stats, score_board, screen, ship, aliens_group, bullets_group) # atualiza as informações da tela gf.update_screen(ai_settings, screen, stats, score_board, ship, aliens_group, bullets_group, btn_play)
def run_game(): pygame.init() ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # 创建一飞船 ship = Ship(ai_settings, screen) # alien = Alien(ai_settings, screen) # 创建一个用于存储子弹的编组 bullets = Group() # 设置背景颜色 # bg_color = (230, 230, 230) aliens = Group() #创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) #创建一个用于存储游戏统计信息的实例, 并创建记分牌 stats = GameStats(ai_settings) play_button = Button(ai_settings, screen, "play") # 计分 sb = Scoreboard(ai_settings, screen, stats) #背景音乐 # pygame.mixer.music.load("D:/py/pygame/sounds/111.mp3") # pygame.mixer.music.play(loops=-1, start=0.0) music1 = pygame.mixer.Sound("D:/py/pygame/sounds/222.wav") #开始游戏的主循环 while True: #监视键盘和鼠标事件 gf.check_events(ai_settings, screen, stats, play_button, ship, aliens, bullets, music1, sb) if stats.game_active: #判断是否处于活动状态(是否有命) #根据移动标志调整飞船的位置 ship.update() # 更新子弹位置并删除已消失的子弹 删除子弹击中的外星人 gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) #更新外星人位置 gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens, bullets) # 更新屏幕上的图像,并切换到新屏幕 gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): pygame.init() ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) ship = Ship(ai_settings, screen) bullets = Group() pygame.display.set_caption("Alien Invasion") bg_color = ai_settings.bg_color while True: game_funcions.check_events(ai_settings, screen, ship, bullets) ship.update() bullets.update() game_funcions.update_screen(ai_settings, screen, ship, bullets)
def run_game(): # 初始化pygame游戏、设置和屏幕对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption(ai_settings.name) #创建Play按钮 play_button = Button(ai_settings, screen, "Play") #创建一个用于存储游戏统计信息的实例 stats = GameStatus(ai_settings) #创建记分牌 sb = Scoreboard(ai_settings, screen, stats) #创建一艘飞船 ship = Ship(ai_settings, screen) #创建子弹编组 bullets = Group() #创建外星人编组 aliens = Group() #创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) # 开始游戏的主循环 while True: #监视键盘和鼠标事件 gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets) #print("The number of bullets is :%d " %len(bullets)) #每次循环时都重绘屏幕与物体 gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button) #添加等待时间 time.sleep(0.03)
def run_game(): ''' 初始化游戏并创建一个屏幕对象 ''' pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption('Alien Invasion') # 创建一艘飞船 ship = Ship(ai_settings, screen) # 创建一个用于存储子弹的编组 bullets = Group() # 创建一个外星人 alien = Alien(ai_settings, screen) # 开始游戏主循环 while True: gf.check_events(ai_settings, screen, ship, bullets) ship.update() update_bullets(bullets) # print(len(bullets)) gf.update_screen(ai_settings, screen, ship, alien, bullets)