示例#1
0
def main():
    level, screen, clock, fps = set_config()
    group = RenderUpdates()
    heroine = Hero(20, 140, "elisa", group)

    keys = {
        K_LEFT: False,
        K_RIGHT: False,
        K_UP: False,
        K_DOWN: False,
        K_RETURN: False,
        27: False,
        K_a: False
    }  # obs 27 = 'esc'

    pygame.display.flip()
    while True:
        clock.tick(fps)

        for e in pygame.event.get([KEYUP, KEYDOWN]):
            valor = (e.type == KEYDOWN)
            if e.key in keys.keys():
                keys[e.key] = valor

        if keys[27]:  # tecla ESC
            pygame.quit()
            sys.exit()
        if heroine.attacking:
            heroine.animate_attack()
        elif keys[K_LEFT]:
            heroine.move("left")
        elif keys[K_RIGHT]:
            heroine.move("right")
        elif keys[K_UP]:
            heroine.jump()
        elif keys[K_DOWN]:
            heroine.get_down()
        elif keys[K_a]:
            heroine.attack()
        #heroine.is_jumping(gravity)

        utils.clear_screen(level, screen)
        pygame.display.update(group.draw(screen))
示例#2
0
        else:
            the_guardian.kill_hero(macgyver, DEAD_PATH)
            screen.blit(macgyver.face, macgyver.coordinates)
            ACTIVE = False

    #If MacGyver reaches the arrival
    if macgyver.coordinates == ARRIVAL_COORDINATES:
        macgyver.win = True
        ACTIVE = False

    #Event management
    for event in pygame.event.get():
        if event.type == QUIT:
            ACTIVE = False
        if event.type == KEYDOWN:
            x, y = macgyver.move(event)

            #Empty place without a wall, a character or an item
            if (x, y) in board_game.empty_places:
                board_game.empty_places.remove((x, y))
                modif = True

            #Place where there is an item
            elif (x, y) in [item.coordinates for item in Item.LIST_ITEMS]:
                macgyver.bag += 1
                Item.LIST_ITEMS = [
                    item for item in Item.LIST_ITEMS
                    if item.coordinates != (x, y)
                ]
                modif = True