Пример #1
0
    def __init__(self):

        pygame.init()

        self.screen_width = 800
        self.screen_height = 800
        self.screen = pygame.display.set_mode(
            (self.screen_width, self.screen_height))
        pygame.display.set_caption("Flappy Bird")
        self.screen_rect = self.screen.get_rect()

        # Background
        self.top_bg = pygame.image.load("images/top_bg.png")
        self.top_bg_rect = self.top_bg.get_rect()

        self.bottom_bg = pygame.image.load("images/bottom_bg.png")
        self.bottom_bg_rect = self.bottom_bg.get_rect()
        self.bottom_bg_rect.top = self.top_bg_rect.bottom - 5

        # Game title & tap
        self.title = pygame.image.load("images/title_tap.png")
        self.title_rect = self.title.get_rect()
        self.title_rect.x = 170
        self.title_rect.y = 100

        # Intances of this game
        self.pipes = pygame.sprite.Group()
        self.stats = GameStats(self)
        self.bird = Bird(self)
        self.scoreboard = Scoreboard(self)
        self.scoreboard.prep_score_statistic()

        # Pipe property
        self.ground_move_rate = 3
        self.pipe_collide = None
Пример #2
0
    def __init__(self):
        """Initialize the game, and create game resources."""
        pygame.init()

        self.settings = Settings()
        self.stats = GameStats(self)
        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))

        # Fullscreen mode
        #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.block = Block(self)
        self.bowser = Bowser(self)
        self.ground = Ground(self)
        self.axe = Axe(self)
        self.fireballs = pygame.sprite.Group()
        self.iceballs = pygame.sprite.Group()

        self.gravity = self.settings.gravity
        self.groundY = 0

        # Make the Play button.
        self.play_button = Button(self, "Play")
Пример #3
0
    def __init__(self):
        """Initialize game and create resources"""
        pygame.init()
        self.settings = Settings()

        # Fullscreen
        # 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

        # Windowed mode
        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))

        pygame.display.set_caption("Alien Invasion")

        # Create stats and score instances
        self.stats = GameStats(self)
        self.sb = Scoreboard(self)

        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()

        self._create_fleet()

        # Make play button
        self.play_button = Button(self, "Play")
Пример #4
0
	def __init__(self):
		"""Initialize the game, and creat game resources"""
		pygame.init()
		self.settings = Settings()

		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

		
		pygame.display.set_caption("Alien Invasion")

		#Create an instance to store game stats and create
		#a scoreboard
		self.stats = GameStats(self)
		self.sb = Scoreboard(self)

		self.ship = Ship(self)
		self.bullets = pygame.sprite.Group()
		self.aliens = pygame.sprite.Group()

		self._create_fleet()

		#Make the play button
		self.play_button = Button(self, "Play")
Пример #5
0
    def __init__(self):

        # initialize the game and game creation resources
        pygame.init()

        # window, import settings from settings.py script
        self.settings = Settings()

        # set game to full screen
        self.screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
        # change settings dimensions to match screen size
        self.settings.screen_width = self.screen.get_rect().width
        self.settings.screen_height = self.screen.get_rect().height 

        # set title of window
        pygame.display.set_caption("Alien Invasion")

        # create an instance of game statistics, and create scoreboard
        self.stats = GameStats(self)
        self.sb = Scoreboard(self)

        # init ship
        self.ship = Ship(self)

        # init and group bullets
        self.bullets = pygame.sprite.Group()

        # init and group enemies
        self.enemies = pygame.sprite.Group()

        # init enemy fleet
        self._create_fleet()

        # make the play button
        self.play_button = Button(self, "Play")
Пример #6
0
def start_game():
    pygame.init()
    settings = Settings()
    screen = pygame.display.set_mode(
        (settings.screen_width, settings.screen_height))
    pygame.display.set_caption("Miner by Cristhianxy")
    game_stats = GameStats(settings)

    menu_items = Group()
    title_top = Menu_Item("MINER", 70, screen, 50)
    btn_start = Menu_Item("Start", 30, screen, 135, "start")
    btn_hs = Menu_Item("High Score", 30, screen, 175, "high_score")
    btn_exit = Menu_Item("EXIT", 30, screen, 215, "exit")
    sub_title_1 = Menu_Item("Code by Cristhian Ferreira", 15, screen, 345)
    sub_title_2 = Menu_Item("Created with Pygame and Love", 15, screen, 380)

    menu_items.add(title_top, btn_start, btn_hs, btn_start, btn_exit,
                   sub_title_1, sub_title_2)

    player = Player(settings, screen)
    bullets = Group()
    ground_grid = Group()
    jewels = Group()
    gf.create_ground(settings, screen, player, ground_grid)
    brian = Monster(settings, screen, 406.6, 506.3)
    brian2 = Monster(settings, screen, 500, 403)
    brian3 = Monster(settings, screen, 744, 502)
    brian4 = Monster(settings, screen, 755, 323)
    monsters = Group()
    monsters.add(brian, brian2, brian3, brian4)
    gf.create_jewels(screen, settings, jewels)
    game_stats.reset_game()
    dashboard = Dashboard(screen, settings, game_stats)
    key_pressed = ""
    """MAIN LOOP"""
    while True:

        if not game_stats.game_status:
            gf.menu_init(menu_items)

        gf.event_listener(screen, settings, player, bullets, menu_items,
                          game_stats)

        if game_stats.game_status:

            player.update()
            brian.move_y()
            brian2.move_x()
            brian3.move_y()
            brian4.move_x()
            gf.update_bullets(settings, screen, bullets)
            gf.update_screen(settings, screen, player, bullets, ground_grid,
                             monsters, jewels, dashboard, game_stats,
                             dashboard)
Пример #7
0
 def __init__(self):
     pygame.init()
     self.settings = Settings()
     self.screen = pygame.display.set_mode(
         (self.settings.screen_width, self.settings.screen_height))
     self.ship = Ship(self)
     self.bullets = pygame.sprite.Group()
     self.aliens = pygame.sprite.Group()
     self.create_fleet()
     self.stats = GameStats(self)
     self.play_button = Button(self, "Play")
     self.sb = Scoreboard(self)
Пример #8
0
def run_game():
    #初始化游戏并创建一个屏幕对象
    pygame.init()
    #生成游戏场景对象,screen对象,飞船,外星人,子弹,游戏状态,按钮,记分牌
    game_setting = Setting()
    screen = pygame.display.set_mode(
        (game_setting.screen_width, game_setting.screen_height))
    pygame.display.set_caption("Alien Invsion")
    bullets = []
    ship = Ship(screen)
    play_button = Button(screen, 'Play')
    stats = GameStats(game_setting)
    score_board = ScoreBoard(game_setting, screen, stats)
    aliens = []
    gf.create_alien_feet(game_setting, screen, ship, aliens)
    #开始游戏的主循环
    while True:
        #获取事件响应
        gf.check_event(game_setting, screen, ship, bullets, stats, play_button,
                       aliens)
        if stats.game_active:
            ship.update()
            gf.update_bullet(game_setting, screen, ship, bullets, aliens,
                             score_board, stats)
            gf.update_alien(game_setting, screen, bullets, aliens, ship, stats)
        gf.update_screen(game_setting, screen, ship, bullets, aliens,
                         play_button, stats, score_board)
Пример #9
0
def run_game():
    # initialize pygame ,settings and screen object
    pygame.init()
    ai_settings = Settings()
    ai_settings.default_settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    # make ship
    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
    #stats = GameStats(ai_settings)
    stats = GameStats(ai_settings)
    play_button = Button(ai_settings, screen, "Play")
    sb = Scoreboard(ai_settings, screen, stats)

    while True:
        # watch for the keyword and mouse events
        gf.get_events(ai_settings, screen, stats, sb, play_button, ship,
                      bullets)
        if stats.game_active:
            pygame.mouse.set_visible(False)
            ship.update()
            gf.update_bullets(ai_settings, screen, ship, stats, sb, aliens,
                              bullets)
            gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens,
                             bullets)
        gf.update_screen(ai_settings, screen, stats, ship, aliens, sb, bullets,
                         play_button)
Пример #10
0
def get_edits():
    temp_date = get_value("Edit Date")

    # ["Reach", "CE", "H2C", "H2A", "H3", "H4"]
    temp_game = convert_game_value(get_value("Edit Game"))

    # ["8v8", "4v4", "FFA"]
    temp_game_type = convert_game_type_value(get_value("Edit Game Type"))

    temp_variant = get_value("Edit Variant")

    # ["Win", "Loss", "Tie"]
    temp_result = convert_result(get_value("Edit Result"))

    temp_frags = get_value("Edit Frags")
    temp_deaths = get_value("Edit Deaths")
    temp_assists = get_value("Edit Assists")

    # Checking if the user went flawless.
    if temp_deaths == 0:
        temp_fd_ratio = round(temp_frags / 1, 2)
    else:
        temp_fd_ratio = round(temp_frags / temp_deaths, 2)

    values = GameStats(temp_date, temp_game, temp_game_type, temp_variant,
                       temp_result, temp_frags, temp_deaths, temp_assists,
                       temp_fd_ratio)

    return values
Пример #11
0
def runGame():
    pygame.init()
    setting = Settings()
    screen = pygame.display.set_mode(
        (setting.screenWidth, setting.screenHeight))
    pygame.display.set_caption("IS ALIEN INVASION")
    playButton = Button(setting, screen, "PLAY")

    ship = SpaceShip(setting.shipSpeed, screen)
    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)

    bigbullets = Group()
    bullets = Group()
    aliens = Group()

    gf.createFleet(setting, screen, ship, aliens)

    pygame.mixer.music.load(".\\images\\Yee.mp3")

    while True:
        gf.check_events(setting, screen, stats, sb, playButton, ship, aliens,
                        bullets, bigbullets)

        if stats.gameActive:
            ship.update()
            gf.updateBullets(setting, screen, stats, sb, ship, aliens, bullets)
            gf.updatebigBullets(setting, screen, stats, sb, ship, aliens,
                                bigbullets)
            gf.increaseLevel(stats, sb, aliens)
            gf.updateAliens(setting, stats, sb, screen, ship, aliens, bullets)

        gf.update_screen(setting, screen, stats, sb, ship, aliens, bullets,
                         bigbullets, playButton)
Пример #12
0
def run_game():
    ai_settings = Settings(gf.read_settings())
    pygame.init()
    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")
    
    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(bullets, aliens, screen, ship, ai_settings, stats, sb)
            gf.update_aliens(ai_settings, stats, screen, ship, sb, aliens, bullets)
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
Пример #13
0
def run_game():
    # Initialize pygame, settings and 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!")
    play_button = Button(ai_settings, screen, "Play")
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    # Make a ship.
    ship = Ship(ai_settings, screen)

    # Make a group to store bullets in.
    bullets = Group()
    aliens = Group()

    gf.create_fleet(ai_settings, screen, ship, aliens)
    # Starts the main loop of the game
    while True:
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets)
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
        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)

        # Make the drawn screen visible.
        pygame.display.flip()
Пример #14
0
def run_game():
    # Инициализирует pygame, settings и объект экрана.
    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()
    aliens = Group()
    # Создание пришельца.
    alien = Alien(ai_settings, screen)
    # Создание экземпляра статистики.
    stats = GameStats(ai_settings)
    # Создание экземпляра кнопки и таблицы счета.
    play_button = Button(ai_settings, screen, 'Play')
    sb = Scoreboard(ai_settings, screen, stats)
    gf.create_fleet(ai_settings, screen, ship, aliens)
    # Запуск основного цикла игры.
    while True:
        # Отслеживание событий клавиатуры и мыши.
        gf.check_events(ai_settings, screen, aliens, stats, play_button, ship,
                        bullets, sb)
        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings, screen, ship, aliens, bullets, sb,
                              stats)
            gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets,
                             sb)
        gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets,
                         play_button, sb)
Пример #15
0
def run_game():
    pygame.init()
    settings = Settings()
    screen = pygame.display.set_mode(settings.dims())
    pygame.display.set_caption('Alien Invasion')
    ship = Ship(settings, screen)
    bullets = Group()
    aliens = Group()
    # alien = Alien(settings, screen)
    play_button = Button(settings, screen, "Play")
    high_scores = Button(settings, screen, "High Scores")

    gf.create_fleet(settings, screen, ship, aliens)

    stats = GameStats(settings)
    sb = Scoreboard(settings, screen, stats)

    game_over = False
    while not game_over:
        gf.check_events(settings, screen, stats, sb, play_button, high_scores,
                        ship, aliens, bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullets(settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_aliens(settings, screen, stats, sb, ship, aliens,
                             bullets)
        gf.update_screen(settings, screen, stats, sb, ship, aliens, bullets,
                         play_button, high_scores)
Пример #16
0
def run_game():
    pygame.init()
    pygame.mixer.init()
    pygame.mixer.pre_init(44100, 16, 2,
                          4096)  # frequency, size, channels, buffersize
    pygame.mixer.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_height, ai_settings.screen_width))
    pygame.display.set_caption("ALIEN INVASION")
    play_button = Button(ai_settings, screen, "Play")
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    arrow = Arrow(ai_settings, screen)
    bg_color = (100, 230, 200)
    num_of_arrows = Group()
    num_of_balloons = Group()
    gf.create_fleet(ai_settings, screen, arrow, num_of_balloons)
    pygame.mixer.music.load('sounds/bgmmusic.wav')
    pygame.mixer.music.play(-1)

    while True:
        gf.check_events(ai_settings, screen, stats, sb, play_button, arrow,
                        num_of_arrows, num_of_balloons)
        if stats.game_active:
            arrow.update()
            num_of_arrows.update()
        gf.update_each_arrows(ai_settings, screen, stats, sb, play_button,
                              arrow, num_of_balloons, num_of_arrows)
        gf.update_balloons(ai_settings, stats, sb, screen, arrow,
                           num_of_balloons, num_of_arrows)
        gf.update_screen(ai_settings, screen, stats, sb, arrow, num_of_arrows,
                         num_of_balloons, play_button)
Пример #17
0
def run_game():
    #init游戏并创建一个窗口对象
    pygame.init()
    ai_settings=Settings()#创建Settings类的实例
    screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("地球保卫战 v1.0")

    #创建实例
    sscol=Group()
    stone=Stone(screen)
    stats=GameStats(ai_settings)
    bullets=Group()
    ship=Ship(ai_settings,screen)
    sscol.add(ship)
    aliens=Group()
    button=Button(ai_settings,screen,"Play")
    score=Score(ai_settings,screen,stats)

    
    while True:

        #帧数
        pygame.time.Clock().tick(120)
        #监视键盘和鼠标事件
        func.check_events(ai_settings,screen,ship,aliens,bullets,button,stats,score)

        #决定游戏是否开始
        if stats.game_status:
            ship.update()
            func.release_bullet(ai_settings,bullets,screen,aliens,stats,score)
            func.update_alien(ai_settings,screen,aliens,ship,stats,bullets,score,stone,sscol)
        
        
            #每次循环都重绘屏幕
        func.update_screen(ai_settings,screen,ship,bullets,aliens,stats,button,score,stone)
Пример #18
0
    def __init__(self):
        """Initialize the game, and create game resources."""
        pygame.init()

        self.settings = Settings()
        self.stats = GameStats(self)
        #self.sb = Scoreboard

        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))

        self.mario = Mario(self)
        self.bowser = Bowser(self)
        self.iceballs = pygame.sprite.Group()
        self.fireballs = pygame.sprite.Group()

        # Make the Play button.
        self.play_button = Button(self, "Play")
Пример #19
0
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)
Пример #20
0
def run_game():
    pygame.init()
    ai_set = Settings()
    bullet_grp = Group()
    aliens_grp = Group()

    screen = pygame.display.set_mode(
        (ai_set.screen_width, ai_set.screen_height))
    pygame.display.set_caption("Space Invadors")
    screen.fill(ai_set.bg_color)
    button = Button(screen, ai_set, "Play")
    stats = GameStats(ai_set, screen)

    ai_ship = Ship(screen)
    ai_alien = Alien(screen)

    # Mathematics of number of aliens and formation.
    x_space = (ai_set.screen_width - 2 * (ai_alien.rect.width))
    aliens_per_line = x_space / (2 * (ai_alien.rect.width))
    create_fleet(screen, aliens_per_line, ai_alien, aliens_grp)

    while True:
        check_events(ai_ship, screen, ai_set, bullet_grp, button)
        screen.fill(ai_set.bg_color)
        ai_ship.draw_ship()
        draw_bullets(bullet_grp, aliens_grp, ai_set, stats)
        if (ai_set.game_active == 1):
            if (len(aliens_grp) == 0):
                bullet_grp.empty()
                create_fleet(screen, aliens_per_line, ai_alien, aliens_grp)
                recenter_ship(ai_ship)
            for every_b in bullet_grp.sprites():
                every_b.update_bullet()
        else:
            button.draw_button()
        draw_fleet(aliens_grp, ai_set, ai_ship)
        stats.show_stats()
        pygame.display.flip()
Пример #21
0
    def __init__(self):
        """Initialize pygame resources"""
        pygame.init()
        self.settings = Settings()

        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))
        pygame.display.set_caption("Alien Invasion 2021")

        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()
        self.gamestats = GameStats(self)
        self._create_fleet()
Пример #22
0
    def __init__(self):
        pygame.init()
        self.settings = Settings()
        ###self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
        self.screen = pygame.display.set_mode((self.settings.screen_width, 
                                               self.settings.screen_height))
        pygame.display.set_caption("Alien Invasion")

        # Create an instance to store game statistics and create a scoreboard.
        self.stats = GameStats(self)
        self.sb = Scoreboard(self)

        #Make instance of a ship
        self.ship = Ship(self)
        # Make the play button
        self.play_button = Button(self, "Play")

        # Make a group to store aliens & bullets in
        self.bullets = Group()
        self.aliens = Group()

        # Create the alien fleet
        self._create_fleet()
Пример #23
0
    def __init__(self):
        """Initialize the game, and create game resources."""
        pygame.init()
        self.settings = Settings()

        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
        pygame.display.set_caption("Space Invaders!")

        self.stats = GameStats(self)

        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()

        self._create_fleet()
Пример #24
0
 def __init__(self):
     """initialize game and create game resources"""
     pygame.init()  # initialize background settings
     self.settings = Settings()  # load settings
     self.stats = GameStats(self)  # initial game statistics
     self.stats.game_active = False
     #self.stats.highscore = self.stats._get_highscore()  # get highscore
     # self.stats.game_active = False  # game is active
     self.clock = pygame.time.Clock()  # get clock for fps limitation
     self._set_screen()  # set game window resolution and title
     #self.scoreboard = Scoreboard(self)  # set scoreboard
     #self.scoreboard.prep_score()
     #self.scoreboard.prep_highscore()
     #self.ship = Ship(self)  # initialize ship
     #self.bullets = pygame.sprite.Group()  # create sprite group for bullets
     #self.aliens = pygame.sprite.Group()  # create sprite group for aliens
     self.segment_stack = []
     self.play_button = Button(self, "Start Game")
     self.play_button.draw_button()
     pygame.display.flip()  # only make recently drawn screen visible
Пример #25
0
    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))
        pygame.display.set_caption("Alien Invasion")

        # Create an instance to store game statistics,
        # and create a scoreboard.
        self.stats = GameStats(self)
        self.sb = Scoreboard(self)
        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()
        self._create_fleet()

        # Make the Play button.
        self.play_button = Button(self, "Play")
Пример #26
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 ———— by 王胜")

    # 创建Play按钮
    play_button = Button(ai_settings, screen, "Play")
    # 创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)
    # 在窗口右上角创建记分牌
    scoreboard = Scoreboard(ai_settings, screen, stats)
    # 创建一艘飞船
    ship = Ship(ai_settings, screen)
    #创建一个用于存储子弹的编组和一个外星人的编组
    bullets = Group()
    aliens = Group()

    gf.create_fleet(ai_settings, screen, aliens, ship)

    # 读取最高得分数据
    gf.read_high_score(stats, scoreboard)

    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, stats, play_button, ship, aliens,
                        bullets, scoreboard)

        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings, screen, aliens, bullets, ship,
                              stats, scoreboard)
            gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets,
                             scoreboard)

        # 每次循环时都重绘屏幕,并切换到新屏幕
        gf.update_screen(ai_settings, stats, ship, screen, bullets, aliens,
                         play_button, scoreboard)
Пример #27
0
def run_game():
    """Main game function"""

    filename = "Highscore.json"

    # initiate pygame and create screen.
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption('Overtake!')

    # create road, car and traffic.
    road = Road(screen, ai_settings)
    car = Car(road, screen, ai_settings)
    stripes = Group()
    traffic = Group()

    # create stripes and traffic.
    gf.create_stripes(stripes, road, screen, ai_settings)
    gf.create_traffic(traffic, screen, ai_settings, road)

    # Initiatialize game statistics
    stats = GameStats(ai_settings, filename)

    # Create Button.
    play_button = Button(screen, stats, "Play")
    sb = Scoreboard(ai_settings, screen, stats, road)

    while True:
        """Main game loop"""
        gf.check_event(car, play_button, stats, stripes, road, screen,
                       ai_settings, traffic, sb)
        if stats.game_active:
            car.update()
            gf.update_traffic(traffic, screen, ai_settings, road, car, stats,
                              filename, sb)
            gf.update_stripes(stripes, road, screen, ai_settings)
        gf.update_screen(screen, ai_settings, road, car, stripes, traffic,
                         play_button, stats, sb)
Пример #28
0
def run_game():
    # Инициализирует pygame, settings и объект экрана
    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')

    # Создание экземпляра GameStats и ScoreBoard.
    stats = GameStats(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)
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
Пример #29
0
def run_game():
    # initialize pygame, settings and object
    pygame.init()
    settings = Settings()
    screen = pygame.display.set_mode(
        (settings.screen_width, settings.screen_height))

    pygame.display.set_caption('Alien Invasion')

    # MAKE PLAY BUTTON
    start_screen = Start  # settings=settings,
    # Create instance to store game statistics & create a scoreboard.
    stats = GameStats(settings)
    sb = Scoreboard(settings=settings, screen=screen, stats=stats)
    # Makes a ship
    ship = Ship(settings, screen)
    """MAKE A GROUP TO STORE BULLETS IN"""
    bullets = Group()
    aliens = Group()

    # Create the fleet of aliens.
    gf.create_fleet(settings, screen, ship, aliens)
    # Main game loop
    while True:
        gf.check_events(ship=ship, settings=settings, bullets=bullets,
                        screen=screen, stats=stats,
                        aliens=aliens, sb=sb)
        if stats.game_active:
            ship.update()
            gf.update_bullets(settings=settings, screen=screen, ship=ship,
                              aliens=aliens, bullets=bullets, sb=sb, stats=stats)
            gf.update_aliens(settings=settings, stats=stats, screen=screen,
                             ship=ship, aliens=aliens, bullets=bullets, sb=sb)

        gf.update_screen(ai_settings=settings, screen=screen, ship=ship,
                         aliens=aliens, bullets=bullets, play_button=play_button,
                         stats=stats, sb=sb)
Пример #30
0
    def initUI(self):

        centralWidget = QWidget()
        self.setCentralWidget(centralWidget)
        self.setWindowTitle(self._gameBoard.name)
        self.setWindowIcon(
            QIcon(os.path.join('./Pictures/', 'berserker_icon.png'))
        )  #Apparently this doens't work the same way on a mac.
        self.statusBar().showMessage('Ready!')
        vbox = QVBoxLayout()
        centralWidget.setLayout(vbox)
        self.gameStats = GameStats(self)
        self.mapView = MapView(self)
        self.bottomButtons = BottomButtons(self)
        vbox.addWidget(self.gameStats)
        vbox.addWidget(self.mapView)
        vbox.addWidget(self.bottomButtons)

        screen = QDesktopWidget().screenGeometry()
        self.setGeometry(
            (screen.width() - (self.gameboard.width - 1) * 20) / 2,
            (screen.height() - self.gameboard.height * 20 - 200) / 2, 500, 400)

        self.show()