コード例 #1
0
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)
コード例 #2
0
def run_game():
    pygame.init()
    pygame.mixer.init()

    os.environ['SDL_VIDEO_CENTERED'] = '1'
    pygame.mouse.set_visible(False)

    settings = Settings()
    screen = settings.screen
    pygame.display.set_caption('Battle Chess')
    
    settings.play_button = Button(screen,settings,'Play')
    chesses = []
    dead_chesses = []
    game_func.create_whole_chess(settings,chesses,screen)
    settings.chesses = chesses[:]

    while True:
        for event in pygame.event.get():
            if not settings.game_end and not settings.game_rewind:
                game_func.check_event_ingame(chesses,settings,dead_chesses,screen,event)
            if settings.game_rewind:
                game_func.check_event_gamerewind(chesses,settings,dead_chesses,screen,event)
            if settings.game_end:
                game_func.check_event_gameend(chesses,settings,dead_chesses,screen,event)
            game_func.check_event_display(chesses,settings,dead_chesses,screen,event)

        game_func.update_screen(settings,screen,chesses,dead_chesses,
                                                        settings.play_button)
コード例 #3
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按钮
    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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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()
コード例 #7
0
ファイル: alien_isolation.py プロジェクト: MugiChu/Aliens-
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()
コード例 #8
0
ファイル: main.py プロジェクト: feifyKike/The-Snake-Game
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)
コード例 #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")

    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)
コード例 #10
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("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)
コード例 #11
0
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)
コード例 #12
0
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init()

    setting = Settings()
    setting.update_level()

    screen = pygame.display.set_mode(
        (setting.screen_width, setting.screen_height))
    pygame.display.set_caption("Plane Wars")

    # 创建一艘船
    ship = Ship(setting, screen)

    # 创建子弹
    bullets = Group()

    # 创建敌机(外星人)
    aliens = Group()

    i = 0

    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        key.check_events(ship, setting)
        ship.update()
        bullets.update()
        aliens.update()

        gf.del_bullet(setting, screen, ship, bullets)
        gf.add_bullet(setting, screen, ship, bullets)

        gf.add_alien(setting, screen, aliens)
        gf.del_alien(setting, screen, aliens)

        gf.check_bullet_alien(setting, bullets, aliens)

        # 刷新显示
        gf.update_screen(setting, screen, ship, bullets, aliens)
コード例 #13
0
ファイル: Alien_Main.py プロジェクト: raochang123/AlienGame
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)
コード例 #14
0
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)
コード例 #15
0
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)
コード例 #16
0
ファイル: alien_invasion.py プロジェクト: yhtyt/alien
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)
コード例 #17
0
def run_game():
    # game init
    pygame.init()
    
    # Set the width and height of the screen [width, height], and set Title of the game
    ai_settings = Settings()

    size = (ai_settings.screen_width, ai_settings.screen_height)
    screen = pygame.display.set_mode(size)

    pygame.display.set_caption("Alien Invasion")

    play_button = Button(ai_settings, screen, "Play")
    lose_button = Button(ai_settings, screen, "You Lose! Start Again")
    
    # Loop until the user clicks the close button.
    done = False
    
    # Used to manage how fast the screen updates
    clock = pygame.time.Clock()
    
    # prepare for the war ship drawing
    ship = Ship(ai_settings, screen)

    # prepare for bullets
    bullets = Group()

    # prepare for aliens
    aliens = Group()

    stats = GameStats(ai_settings)

    score = Scoreboard(ai_settings, screen, stats)

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

    center_button = play_button
    
    # -------- Main Program Loop -----------
    while not done:
        # --- Main event loop
        gf.check_event(ai_settings, screen, stats, score, ship, aliens, bullets, center_button)
        
        if stats.game_active:

            if center_button == lose_button:
                center_button = play_button

            ship.update()
            
            gf.update_bullets(ai_settings, screen, stats, score, ship, aliens, bullets)

            gf.update_aliens(ai_settings, stats, screen, score, ship, aliens, bullets)
        
        if not gf.check_ship_remain(stats):
            center_button = lose_button

        # --- Drawing code should go here
        gf.update_screen(ai_settings, screen, stats, score, ship, aliens, bullets, center_button)

        # --- Go ahead and update the screen with what we've drawn.
        pygame.display.flip()
        
        # --- Limit to 60 frames per second
        clock.tick(60)
    
    # Close the window and quit.
    pygame.quit()
コード例 #18
0
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)