def run_game(): # initialize game pygame.mixer.pre_init(22050, -16, 2, 512) pygame.mixer.init() pygame.init() screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) screen_rect = screen.get_rect() # images import icon = pygame.image.load("resources/icon.jpeg") ship_img = pygame.image.load("resources/ship.bmp") logo_img = pygame.image.load("resources/logo.png") alien_img = pygame.image.load("resources/alien.bmp") back_img = pygame.image.load("resources/background.png") backg = pygame.transform.scale(back_img, (screen_rect.width, screen_rect.height)) # soundtrack pygame.mixer.music.load("resources/Starlight.ogg") pygame.mixer.music.play(loops=-1) # -1 = loop # sound effects laser_shot = pygame.mixer.Sound("resources/laser-shoot.ogg") alien_exp = pygame.mixer.Sound("resources/alien-explosion-1.ogg") pygame.display.set_icon(icon) # class istances aliens = Group() bullets = Group() ai_set = Settings(screen) stats = GameStats(ai_set) logo = Logo(screen, logo_img) sb = Scoreboard(screen, stats, ship_img, ai_set) ship = Ship(screen, ai_set, ship_img) play_b = Button(ai_set, screen, "Play") # functions pygame.display.set_caption("Alien Invasion") gf.create_fleet(ai_set, screen, aliens, ship, alien_img) # main loop while True: screen.blit(backg, (0, 0)) gf.check_events(ai_set, screen, aliens, ship, stats, bullets, play_b, alien_img, laser_shot, sb) if stats.game_active: ship.update() gf.update_bullets(bullets, aliens, ai_set, screen, ship, alien_exp, alien_img, stats, sb) gf.update_aliens(ai_set, stats, screen, aliens, ship, bullets, alien_img, sb) gf.update_screen(ai_set, screen, ship, aliens, bullets, play_b, stats, logo, sb) pygame.quit()
def run_game(): pygame.init() ai_settings = Settings() # stats = GameStats(ai_settings) screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("LALALALALALALAL") play_button = Button(ai_settings, screen, "GAY") stats = GameStats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) ship = Ship(ai_settings, screen) # alien = Alien(ai_settings, screen) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, stats, screen, ship, aliens, bullets) 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(): # 初始化游戏和屏幕 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption('Alien Invasion') # 创建Play按钮 play_button = Button(ai_settings, screen, 'Play') # 创建用于存储统计信息的实例 stats = GameStats(ai_settings) # 创建飞船 ship = Ship(screen, ai_settings) # 创建存储子弹的编组 bullets = Group() # 创建外星人的编组 aliens = Group() # 创建外星人群 gf.creat_fleet(ai_settings, screen, ship, aliens) # 开始游戏循环 while True: # 监视事件 gf.check_events(ai_settings, screen, stats, play_button, ship, aliens, bullets) if stats.game_active: ship.update() bullets.update() gf.update_bullets(ai_settings, screen, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets, play_button)
def run_game(): # 初始化游戏 pygame.init() # 设置屏幕分辨率 setting = Settings() screen = pygame.display.set_mode( (setting.screen_width, setting.screen_height)) pygame.display.set_caption("飞机大战") # 创建小飞机 plane = Plane(screen, setting) # print(bg_img) spaceship = Spaceship(setting, screen) # 开始游戏的主循环 while True: # 不关闭窗口 fg.check_events() # 绘制图像 fg.update_screen(screen, setting.bg_img, plane)
def run_game(): pygame.init() # display interface ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption('Alien Invasion') play_button = Button(ai_settings, screen, 'Play') stats = GameStats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # Creating game objects ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) # cycle of displaying game events while True: gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.upd_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens, bullets) gf.upd_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): pygame.init() new_setting = Settings_1() screen = pygame.display.set_mode((new_setting.screen_width, new_setting.screen_height)) pygame.display.set_caption("Alian Invasion") #创建一个play按钮 play_button = Button(new_setting,screen,"Play") #创建一个用于存储游戏统计信息的实例 stats = GameStats(new_setting) #创建存储游戏统计信息的实例,并创建记分牌 sb = Scoreboard(new_setting,screen,stats) #创建一艘飞船 ship = Ship(new_setting,screen) #创建一个用于存储子弹的编组 bullets = Group() #创建一个外星人 #alien = Alien(new_setting,screen) aliens = Group() gf.create_fleet(new_setting,screen,ship,aliens) #游戏主循环 while True: #监视键盘和鼠标事件 gf.check_events(new_setting,screen,stats,sb,play_button,ship,aliens,bullets) if stats.game_active: ship.update() gf.update_bullets(new_setting,screen,stats,sb,ship,aliens,bullets) gf.update_aliens(new_setting,stats,sb,screen,ship,aliens,bullets) #print(len(bullets)) 主句代码用于监测是否所有的子弹都被删除了 #让最近绘制的屏幕可见 gf.update_screen(new_setting,screen,stats,sb,ship,aliens,bullets,play_button)
def run_game(): pg.init() ai_settings = Settings() screen = pg.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pg.display.set_caption("Alien Invasion") ship = Ship(screen, ai_settings) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, aliens) while True: gf.check_events(ai_settings, screen, ship, bullets) ship.update() gf.update_bullets(bullets) gf.update_screen( ai_settings, screen, ship, aliens, bullets, ) for event in pg.event.get(): if event.type == pg.QUIT: sys.exit() screen.fill(ai_settings.bg_color) ship.blitme() pg.display.flip()
def play_game(): """Initializing and executing the game""" pygame.init() # Allowing access to the settings module ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Snake Game") # The mode buttons easy_button = ButtonEasy(ai_settings, screen, "Easy") hard_button = ButtonHard(ai_settings, screen, "Hard") # Showing instruction message message = "Choose a mode to play in:" instruc = Instruction(ai_settings, screen, message) # Creating the snake snake = Snake(ai_settings, screen, (0,0,255), (10,10)) # Creating the snack snack = Snack(ai_settings, screen, snake) # Creating a group holder for obstacles, and multiple obstacles obst_group = Group() gf.create_groupof_obstacles(snake, screen, ai_settings, snack, obst_group) # Controlling the FPS of the game clock = pygame.time.Clock() # Starting the main game loop while True: # Controlling the FPS and key compute speed pygame.time.delay(ai_settings.delay) clock.tick(ai_settings.fps) gf.check_events(snake, screen, ai_settings, snack, obst_group, easy_button, hard_button) if ai_settings.status: # Checking snake and snack collisions if snake.body[0].pos == snack.pos: snake.addTail() snack = Snack(ai_settings, screen, snake) # Check for snake and obstacle collisions for single in obst_group.copy(): if snake.body[0].pos == single.pos: obst_group.remove(single) gf.removeTail(snake, screen, ai_settings, snack, obst_group) break # Checking for personal collisions gf.check_snake_collisions(snake, screen, ai_settings, snack, obst_group) gf.update_screen(ai_settings, screen, snake, snack, obst_group, easy_button, hard_button, instruc)
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") shuttle = Shuttle(ai_settings, screen) # Cоздание корабля bullets = Group() # Создание группы для хранения пуль aliens = Group() # Создание группы для хранения пришельцев gf.create_fleet(ai_settings, screen, aliens) # Создание флота # Запуск основго цикла игры while True: gf.check_events(ai_settings, screen, shuttle, bullets) # Отслеживание событий shuttle.update() gf.update_bullets(bullets) # print(len(bullets)) gf.update_screen(ai_settings, screen, shuttle, aliens, bullets)
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("Old Galaxy") stats = GameStats(ai_settings) ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, aliens, ship) while True: gf.check_events(ai_settings, screen, ship, bullets) ship.update() gf.update_bullets(bullets, aliens, ai_settings, screen, ship) gf.update_aliens(ai_settings, aliens, ship, stats, screen, bullets) gf.update_screen(ai_settings, screen, ship, aliens, bullets)
def run_game(): # 初始化屏幕大小 pygame.init() auto_settings = Settings() screen = pygame.display.set_mode( (auto_settings.screen_weith, auto_settings.screen_height)) pygame.display.set_caption("飞机大战——beta 0.0.1") plane = Plane(auto_settings, screen) # 创建一个用于存储子弹的编组 bullets = Group() # 游戏主循环 while True: #监视键盘和鼠标事件 gf.check_events(auto_settings, screen, plane, bullets) plane.update() bullets.update() gf.update_screen(auto_settings, screen, plane, bullets)
def run_game(): pygame.init() #get highscore path = sys.path[0] path += highscore_filename print(path) high_score = gf.get_saved_highscore(path) bg_color =(230,230,230) ai_settings = Settings() stats = GameStats(ai_settings) if len(high_score) == 2: stats.high_score = high_score[0] stats.level = high_score[1] screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height)) pygame.display.set_caption('Alien Invasion') ship = Ship(ai_settings,screen) aliens = Group() #create one bullet bullets = Group() play_button = Button(ai_settings,screen,"Play") sb = Scoreboard(ai_settings,screen,stats) gf.create_fleet(ai_settings,screen,ship,aliens) #while cnt = 0 while True: #event gf.check_events(ship,ai_settings,screen,bullets,aliens,stats,play_button,sb) if stats.game_active: ship.update() bullets.update() gf.update_bullets(ai_settings,screen,ship,aliens,bullets,stats,sb) gf.update_aliens(ai_settings,aliens,ship,stats,screen,bullets,sb) else: if cnt < 3: cnt += 1 print('game over!') # draw gf.update_screen(ai_settings,screen,ship,aliens,bullets,stats,play_button,sb)
def run_game(): #初始化游戏并创建一个屏幕对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, \ ai_settings.screen_height)) #(850,600)是一个元组实参 pygame.display.set_caption("Alien Invasion") #bg_color = (230, 230, 230) play_button = Button(ai_settings, screen, "Play") #创建一个用于存储统计信息的实例,并创建积分牌 stats = GameStats(ai_settings) sb = ScoreBoard(ai_settings, screen, stats) #创建飞船、一个用于存储子弹、外星人的编组 ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() #创建一个外星人群 gf.creat_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, stats, sb, screen, ship, aliens, bullets) #每次循环重绘屏幕 gf.update_screen(ai_settings, screen, stats, sb, \ ship, aliens, bullets, play_button)
def run_game(): #initialize pygame.init() ai_settings = Settings() #screen screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_heigth)) pygame.display.set_caption("Alien Invasion") #Erstellt die PlaySchaltfläche play_button = Button(ai_settings, screen, "Play") #Erstellt eine Instanz zur Speicherung von Statistiken stats = GameStats(ai_settings) #ship ship = Ship(ai_settings, screen) #bullets bullets = Group() #Aliens aliens = Group() #Erstellt die Invasionflotte gf.create_fleet(ai_settings, screen, ship, aliens) #Hauptschleife while True: gf.check_events(ai_settings, screen, stats, play_button, ship, aliens, bullets) if stats.game_active == True: ship.update_self() gf.update_bullets(ai_settings, screen, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, ship, bullets, aliens, play_button)
def run_game(): # 初始化游戏并创建游戏窗口 pygame.init() pygame.mixer.init() pygame.mixer.music.load("back_music.mp3") pygame.mixer.music.set_volume(0.5) ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption(' Alien Invasion') play_button = Button(ai_settings, screen, 'Play') ship = Ship(screen, ai_settings) # 创建飞船 aliens = Group() # 创建外星人 bullets = Group() # 创建子弹 stats = GameStats(ai_settings) scoreboard = ScoreBoard(ai_settings, screen, stats) gf.create_fleet(ai_settings, screen, aliens, ship) # 开始游戏主循环 while True: '''监视鼠标和键盘''' gf.high_score_memory(stats) gf.check_events(ship, screen, ai_settings, bullets, stats, play_button, aliens) if stats.game_active: ship.update() gf.update_bullets(aliens, bullets, ai_settings, screen, ship, stats, scoreboard) gf.aliens_update(ai_settings, aliens, ship, stats, screen, bullets, scoreboard) gf.update_screen(screen, ai_settings, ship, bullets, aliens, stats, play_button, scoreboard)
def run_game(frame, set_music): # init game hard = 1 ele_time = 0 clock = pygame.time.Clock() pygame.init() settings = Settings() gs = GameStats() gs.reset() if sys.platform == "win32" or sys.platform == "cygwin": my_font = pygame.font.SysFont("kaiti", 100) else: my_font = pygame.font.SysFont("kaitif", 100) tnts = Group() # init bgm if set_music is not None: pygame.mixer.music.load(f"game_music/background/{set_music}") pygame.mixer.music.play(-1) # init window screen = pygame.display.set_mode((settings.width, settings.height)) screen_rect = screen.get_rect() icon = pygame.image.load("icon.ico") pygame.display.set_icon(icon) pygame.display.set_caption("dodge tnt") # init player steve = Steve(screen, skin) # heal instruction h1 = Health(screen, 1) h2 = Health(screen, 2) h3 = Health(screen, 3) magic = Magic(screen) t1 = time.time() start_rec = t1 tnt_num = 0 pygame.mouse.set_visible(False) heal = 3 # main loop while True: clock.tick(frame) h1.update(heal) h2.update(heal) h3.update(heal) t2 = time.time() nowrec = t2 nhard = int((nowrec + 20 - start_rec) / (19 + int(hard / 2))) if nhard > hard: hard = nhard tntw = int(nowrec + 140 - start_rec) / (hard * 90) steve_tnt = False if random.randint(1, 10) == 5: steve_tnt = True sb = Scoreboard(screen, gs, hard) cool_down = CoolDown(screen, steve) steve.speed = hard * 0.5 if t2 - t1 > tntw: if tnt_num < 10: tnt_num += 1 new_tnt = TNT(screen) new_tnt.speed += hard * 0.1 if steve_tnt: new_tnt.rect.centerx = steve.rect.centerx tnts.add(new_tnt) t1 = t2 func_return = gf.check_events(steve, start_rec, screen, my_font, hard, ele_time) start_rec = func_return[0] ele_time = func_return[1] steve.update() tnts.update() gf.kick_minus(steve) gf.check_kick(steve, hard) steve.magic = gf.magic_return(steve.magic, hard) steve.speed = gf.speed_check(steve, hard) ctcsl = gf.check_tnt_c_steve(tnts, steve, heal, tnt_num, screen, gs.score, hard, steve.magic) heal = ctcsl[0] tnt_num = ctcsl[1] gs.score = ctcsl[2] steve.magic = ctcsl[3] gf.check_die(heal, gs.score, hard, ele_time, start_rec, nowrec) for tnt in tnts.copy(): if tnt.rect.top >= screen_rect.bottom: tnt_num -= 1 tnts.remove(tnt) gs.score += hard gf.update_screen(screen, steve, tnts, sb, h1, h2, h3, cool_down, magic, hard, heal)