MDB.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:MDB 作者: gustavo-castro 项目源码 文件源码
def runcoop(SCREEN, ImagesPlayer, ImagesEnemy,
            DISPLAYSURF, FPSCLOCK, FPS, titlescreen):
    # Group for drawing all sprites
    rendergroup = pygame.sprite.RenderPlain()
    wall_list = utils.createwalls(SCREEN, rendergroup)
    # Initiate main character
    player_list = pygame.sprite.Group()
    enemy_list = pygame.sprite.Group()

    Marcus = characters.Player('Marcus', ImagesPlayer, SCREEN, rendergroup,
                               wall_list, player_list, enemy_list)
    Cole = characters.Player2('Cole', ImagesPlayer, SCREEN, rendergroup,
                              wall_list, player_list, enemy_list, False)

    friendly_bullet_list = pygame.sprite.Group()
    enemy_bullet_list = pygame.sprite.Group()

    # Create enemies
    N = 2
    utils.createenemies(N, ImagesEnemy, player_list, SCREEN,
                        rendergroup, wall_list, enemy_list)

    # main game loop
    while (not Marcus.dead or not Cole.dead) and len(enemy_list.sprites()) > 0:
        for event in pygame.event.get():  # event handling loop
            if event.type == pygame.locals.QUIT:
                terminate()
            elif event.type == pygame.locals.KEYDOWN and \
                    event.key == pygame.locals.K_ESCAPE:
                newmode = showPauseScreen(titlescreen)
                if newmode != 'no changes':
                    global runGame
                    runGame = newmode
                    return 2
            elif event.type == pygame.locals.KEYDOWN and \
                    event.key == pygame.locals.K_r:
                Marcus.reload()
            elif event.type == pygame.locals.KEYDOWN and \
                    event.key == pygame.locals.K_k:
                Cole.reload()
            elif event.type == pygame.locals.KEYDOWN and \
                    event.key == pygame.locals.K_l:
                Cole.shoot(friendly_bullet_list, rendergroup)
            elif event.type == pygame.locals.KEYDOWN:
                Marcus.update_position(event.key)
                Cole.update_position(event.key)
            elif event.type == pygame.locals.MOUSEBUTTONDOWN:
                Marcus.shoot(friendly_bullet_list, rendergroup)

        player_list.update()
        enemy_list.update(enemy_bullet_list, rendergroup)

        for i in range(10):
            friendly_bullet_list.update(enemy_list, wall_list)
            enemy_bullet_list.update(player_list, wall_list)

        DISPLAYSURF.fill(BACKGROUND)
        rendergroup.draw(DISPLAYSURF)
        pygame.display.update()
        FPSCLOCK.tick(FPS)
    return int(Marcus.dead and Cole.dead)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号