def __init__(self): """Initialize the game, and create game resources """ pygame.init() self.settings = Settings() self.screen = pygame.display.set_mode( (self.settings.screen_width, self.settings.screen_height)) #self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) #self.settings.screen_width = self.screen.get_rect().width #self.settings.screen_height = self.screen.get_rect().height self.caption = "J'y-rens Alien Invasion 1.0" pygame.display.set_caption(self.caption) #Create an instance to store game statistics. # and create a scoreboar. self.stats = GameStats(self) self.sb = Scoreboard(self) self.ship = Ship(self) #bullet groups self.bullets = pygame.sprite.Group() #Alien Groups self.aliens = pygame.sprite.Group() # create fleet of aliens self._create_fleet() #Make the Play Button. self.play_button = Button(self, "Play") self.pause_button = Pause(self, "Pause")
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_button = Button(ai_settings, screen, 0, 1) pause_button = Pause(ai_settings, screen, "Pause") ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) stats = GameStats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) while True: gf.check_events(ai_settings, screen, stats, sb, play_button, pause_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) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button, 1, pause_button)
def __init__(self): pygame.mixer.init() pygame.init() self.screen = pygame.display.set_mode(screen_size, 0, 32) self.background = None #self.Fill_Back() pygame.display.set_caption('Pacman Remake') pygame.display.set_icon(icon) self.clock = pygame.time.Clock() pygame.mixer.music.load('Pac-man theme 1.mp3') #pygame.mixer.music.set_volume(0.25) pygame.mixer.music.play(-1, 0.0) self.pellet_count = 0 self.fruit = None self.text = Group_Text() self.count_time = 0 self.time = 0 self.besttime = 0 self.pause = Pause(True) self.level = Level() self.end_game = False self.chase_music = pygame.mixer.Sound("chase_theme_2.wav") self.switch_music = False self.switch_time = 0 self.quit = False
def switch_button(self): for button in self.all_buttons: if button.action == 3: # bouton pause self.all_buttons.remove(button) self.all_buttons.add(Play(self)) if button.action == 4: # bouton play self.all_buttons.remove(button) self.all_buttons.add(Pause(self))
def run(): conditions = getConditions() op = Pause() for condition in conditions: op.clickMyWechat(condition['id']) try: # 进行前置操作 op.auto_ad_before(condition['operate']) for i in range(0, 500): i += 1 try: try: op.auto_ad(condition['operate']) print('=======================' + condition['operate'] + '成功=======================') except Exception: pass # 判断是否跳出循环 if op.validate_xpath(): break except Exception: continue op.wait_text("小程序广告") op.find_link_text("小程序广告") time.sleep(1) # 进行前置操作 op.auto_ad_before(condition['operate']) for i in range(0, 500): i += 1 try: try: op.auto_ad(condition['operate']) print('=======================' + condition['operate'] + '成功=======================') except Exception: pass # 判断是否跳出循环 if op.validate_xpath(): break except Exception: continue except Exception: continue #定义循环结束页面 print('=======================处理完成=======================')
def __init__(self, screen: pygame.Surface, data: dict, settings: dict, display: dict): """ une classe de jeu d'échecs Parameters ---------- screen : pygame.Surface la surface de jeu data : dict le dictionnaire des couleurs settings : dict les réglages de l'ia display : dict les réglages des graphiques """ self.pause = False # pour mettre le jeu en pause self.new_start = 0.0 # le temps pour redémarer les chronos après la pause self.running = True # le jeu tourne self.clock = Clock(-1, 0) # pour avoir la durée de la partie self.screen = screen self.data = data self.settings = settings self.display = display self.board = Board() self.playerB = Human(B, self) # joueur avec les pièces blanches self.playerN = Ai(N, self) # joueur avec les pièces noires self.cur_player = self.playerB self.score = self.board.get_score(self.board.board) self.all_scores = [self.score] self.all_moves = [] # str self.suggested = [(-11, -11), (-11, -11)] self.all_buttons = pygame.sprite.Group() self.all_buttons.add(Help(self)) self.all_buttons.add(Pause(self))
def change_mode(self, mode, args=None): self.mode = mode print("Changing mode...") if self.mode == 'Line Follower': print("Creating Line Follower...") self.thread = LineFollower(self.change_mode) self.thread.start() elif self.mode == 'Manual Control': print("Starting manual control...") self.thread = ManualControl(args) print("Manual control started") elif self.mode == 'Forest Crawler': print("Creating Forest Crawler...") self.thread = ForestCrawler(self.change_mode) self.thread.start() elif self.mode == 'Cube Carrier': print("Creating Cube Carrier...") self.thread = CubeCarrier(self.change_mode) self.thread.start() elif self.mode == 'Disc Traveler': print("Creating Disc Traveler...") self.thread = DiscTraveler(self.change_mode) self.thread.start() elif self.mode == 'Slope Searcher': print("Creating Slope Searcher...") self.thread = SlopeSearcher(self.change_mode) self.thread.start() elif self.mode == 'Battle Mode': print("Creating Battle Mode...") self.thread = BattleMode(self.change_mode) print("FOOBAR") self.thread.start() elif self.mode == 'Pause': print("Pausing...") self.thread = Pause() self.thread.start() elif self.mode == 'Stop': print("Stop")
def __init__(self): """Initialize the game and create game ressources """ pygame.init() self.settings = Settings() self.screen = pygame.display.set_mode( (self.settings.screen_width,self.settings.screen_height)) pygame.display.set_caption("J'y-rens Target Shoot 1.0") #Set the clock and time click self.clock = pygame.time.Clock() self.dt = 0 # create an instance of the game stats class self.stats = GameStats(self) #Create an instance of the scoreboard class self.sb = Scoreboard(self) # Create an instance of the class ship self.ship = Ship(self) #create a list of bullets that hit the rectangle self.bullets_hit_rectangle = [] # create an instance of the class rectangle self.rectangle = Rectangle(self) # create an instance of the group bullets self.bullets = pygame.sprite.Group() # create an instance of the button self.play_button= Button(self,"Play") # create an instance of the pause Button self.pause_button = Pause(self,"Pause")
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") # 创建一个用于存储游戏统计信息的实例,并创建记分牌 stats = GameStats(ai_settings) sb = Scoreboard(ai_settings,screen,stats) # 创建按钮 play_button = Button(ai_settings,screen,"Play") pause_button = Pause(ai_settings,screen,"Pause") # 创建一艘飞船、一个子弹编组和一个外星人编组 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,pause_button, ship,aliens,bullets) if stats.game_active and not stats.pause_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) gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets, play_button,pause_button)
def __init__(self,gamestate,score,ammo): # Konfuguracja random.seed() #inicjalizaja pygame.init() self.SCREEN_SIZE = (1280, 720) # grafiki dopasowane do tego self.screen = pygame.display.set_mode(self.SCREEN_SIZE) self.tps_clock = pygame.time.Clock() self.tps_delta = 0.0 self.shot = 0.0 self.supertime = -2 self.player = Player(self) self.aliens = [] self.opp = 10 self.bullets = [] self.alienbulets = [] self.lives = Lives(self) self.lives_number = 3 self.score = Score(self) self.score_number = 0 + score self.ammo = Ammo(self) self.walls = [] self.gameover = GameOver(self) self.gamestate = gamestate self.ammo_number = ammo + 5 self.nextlevel = NextLevel(self) self.tps_max = 300.0 self.superalien = [] self.tooClose = False self.pauseSign = Pause(self) self.pause = 1 for i in range(0,self.opp): self.aliens.append(Alien(self, i * 100 + 100, 100,self.gamestate-1)) self.aliens.append(Alien(self, i * 100 + 100, 150,self.gamestate-1)) self.aliens.append(Alien(self, i * 100 + 100, 200,self.gamestate-1)) self.aliens.append(Alien(self, i * 100 + 100, 250,self.gamestate-1)) self.aliens.append(Alien(self, i * 100 + 100, 300,self.gamestate-1)) self.aliens.append(Alien(self, i * 100 + 100, 350,self.gamestate-1)) self.rand_opp = 6*self.opp for i in range(0,5): self.walls.append(Wall(self,80+i*340)) channel_game = pygame.mixer.Channel(1) channel_game2 = pygame.mixer.Channel(2) channel_game3 = pygame.mixer.Channel(3) self.background = pygame.image.load("tlo3.jpg") self.text = open("score").readline() while self.gamestate !=0: if self.rand_opp != 0: los = random.randrange(self.rand_opp) else: los = 0 # obsługa zdarzen for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN and event.key == pygame.K_p: self.pause *= -1 elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE and self.ammo_number != 0: self.bullets.append(Bullet(self,self.player.pos[0]+23,self.player.pos[1])) channel_game3.play(pygame.mixer.Sound("mygun.wav")) channel_game3.set_volume(0.5) elif (self.lives_number == 0 or self.ammo_number <= 0 or self.tooClose == True) and event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN: self.gamestate = 0 elif len(self.aliens) == 0 and event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN: self.gamestate += 1 Game(self.gamestate,self.score_number,self.ammo_number) self.text = open("score").readline() self.gamestate = 0 elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE and self.pause == -1: self.gamestate = 0 elif event.type == pygame.KEYDOWN and event.key == pygame.K_p and self.pause == -1: self.pause *= -1 #ticking self.tps_delta += self.tps_clock.tick() / 1000.0 self.shot += self.tps_clock.tick()+0.000000003*(self.gamestate-1) / 1.0 self.supertime += self.tps_clock.tick() / 1.0 while self.tps_delta > 1 / self.tps_max: self.tick() self.tps_delta -= 1 / self.tps_max while(self.shot >= 0.001 / self.tps_max and len(self.aliens)!=0 and (self.lives_number != 0 and self.ammo_number > 0) and self.tooClose == False and self.pause == 1): self.shot = 0 channel_game.play(pygame.mixer.Sound("shot.wav")) channel_game.set_volume(0.5) self.alienbulets.append(AlienBullet(self,self.aliens[los].x,self.aliens[los].y)) while self.supertime >= 0.001 / self.tps_max: self.supertime = -2 if(len(self.superalien)==0 and self.tooClose == False and self.lives_number !=0 and self.ammo_number > 0 and self.pause == 1): self.superalien.append(SuperAlien(self)) channel_game2.play(pygame.mixer.Sound("supersound.wav")) channel_game2.set_volume(0.3) #rendering self.screen.fill((0, 0, 0)) self.screen.blit(self.background, (0, 0)) self.draw() pygame.display.flip()
def play(self): state = constants.STATE_START score_board = Score(location=(constants.WINDOW_WIDTH - 30, 20)) play_button = Play( location=(int((constants.WINDOW_WIDTH - constants.PLAY_WIDTH) / 2), int((constants.WINDOW_HEIGHT - constants.PLAY_HEIGHT) / 2))) pause_button = Pause(location=(20, 20)) welcome_message = Welcome(location=( int((constants.WINDOW_WIDTH - constants.MESSAGE_WIDTH) / 2), int((constants.WINDOW_HEIGHT - constants.MESSAGE_HEIGHT) / 2))) gameover_message = GameOver(location=( int((constants.WINDOW_WIDTH - constants.GAMEOVER_WIDTH) / 2), int((constants.WINDOW_HEIGHT - constants.GAMEOVER_HEIGHT) / 3))) collided = False done = False while not done: for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: # If user clicked close done = True # Flag that we are done so we exit this loop elif event.type == pygame.KEYDOWN: if state == constants.STATE_START: if event.key == pygame.K_SPACE: state = constants.STATE_RUN self.nb_games += 1 if self.nb_games > 1: self.reset() elif state == constants.STATE_RUN: if event.key == pygame.K_SPACE: self.agent.flap() elif event.key == pygame.K_ESCAPE: state = constants.STATE_PAUSE elif state == constants.STATE_PAUSE: if event.key == pygame.K_SPACE: if collided: state = constants.STATE_RUN self.nb_games += 1 if self.nb_games > 1: self.reset() else: self.agent.resume(fps=self.fps) state = constants.STATE_RUN elif event.type == pygame.MOUSEBUTTONDOWN: mouse_pos = event.pos # gets mouse position if state == constants.STATE_RUN: if pause_button.rect.collidepoint(mouse_pos): state = constants.STATE_PAUSE else: self.agent.flap() elif state == constants.STATE_START and welcome_message.rect.collidepoint( mouse_pos): state = constants.STATE_RUN self.nb_games += 1 if self.nb_games > 1: self.reset() elif state == constants.STATE_PAUSE: if gameover_message.rect.collidepoint(mouse_pos): state = constants.STATE_START collided = False elif play_button.rect.collidepoint(mouse_pos): self.agent.resume(fps=self.fps) state = constants.STATE_RUN if state == constants.STATE_START: self.redraw_screen(move=False) self.screen.blit(welcome_message.image, welcome_message.rect) elif state == constants.STATE_RUN: out_of_bounds = self.agent.move() self.meter_counts[1] += constants.SPEED if self.meter_counts[1] - self.meter_counts[ 0] > constants.PIPE_WIDTH: self.meter_counts[0] = self.meter_counts[1] self.update_pipes() collided, _ = self.check_collision() collided = collided or out_of_bounds if collided: state = constants.STATE_PAUSE score_board.update(score=self.score) self.redraw_screen() self.screen.blit(pause_button.image, pause_button.rect) self.screen.blit(score_board.surface, score_board.rect) elif state == constants.STATE_PAUSE: self.redraw_screen(move=False) if collided: self.screen.blit(gameover_message.image, gameover_message.rect) else: self.screen.blit(play_button.image, play_button.rect) # Limit the number of frames per second fps = self.fps if state == constants.STATE_RUN else int(self.fps / 2) self.clock.tick(fps) # Go ahead and update the screen with what we've drawn. pygame.display.flip() # Be IDLE friendly. If you forget this line, the program will 'hang' # on exit. pygame.quit()