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")
Example #2
0
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)
Example #3
0
    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
Example #4
0
 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))
Example #5
0
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('=======================处理完成=======================')
Example #6
0
    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))
Example #7
0
 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")
Example #9
0
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)
Example #10
0
    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()
Example #11
0
    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()