Membros da equipe Llama Adventures:

O projeto localiza-se em https://github.com/joaopedrogms/GAMES-IP.git. Em README.mp o usuário pode ler instruções para instalação, execução e jogabilidade do programa salvo no repositório.

(Observação: Imagens e modelos utilizados pertecem aos seus devidos criadores e detentores de seus direitos. Sua finalidade se resume a motivos didáticos sem propósitos monetários.)

O código foi dividido, e comentado, em diferentes segmentos de arquivos responsáveis por uma área do código cada:

Classe responsável por todas as interações do “avatar” com outros objetos coletáveis do cenário, além da sua movimentação, hitbox, gravidade, habilidade de pular e sua limitação quando em contato com objetos de colisão não coletáveis para movitação. Além de possuir condição que força sua parada assim que o objeto “cage” é coletado sinalizando o fim da fase.

main_character_idle.png

main_character_jump.png

class Character(pg.sprite.Sprite):
    def __init__(self):
        pg.sprite.Sprite.__init__(self)

        self.image = load_image('main_character_idle.png')
        self.rect = load_image('main_character_idle.png').get_rect()

		def _jump(self):
        up_pressed = pg.key.get_pressed()[pg.K_UP]
        w_pressed = pg.key.get_pressed()[pg.K_w]
        space_pressed = pg.key.get_pressed()[pg.K_SPACE]

        if not self.cage_collected:
            if (up_pressed or w_pressed or space_pressed) and self.on_ground and not self.jumping:
                self.vertical_speed = self.jumping_height
                self.jumping = True
        else:
            if self.can_jump and self.on_ground and not self.jumping:
                self.vertical_speed = self.jumping_height
                self.jumping = True

		def _walk(self, width):
        d_pressed = pg.key.get_pressed()[pg.K_d]
        right_pressed = pg.key.get_pressed()[pg.K_RIGHT]
        left_pressed = pg.key.get_pressed()[pg.K_LEFT]
        a_pressed = pg.key.get_pressed()[pg.K_a]

É quem define todos os coletáveis no espaço do programa. Classe utilizada na aplicação de funções com tipos distintos de objetos para coleta como morangos, chaves e gaiolas. Novos objetos coletáveis podem ser adicionados com certa facilidade simplesmente por meio de uma chamada a classe atráves de uma função em main, indicando qual o objeto, sua posição e então o retornando para a função. A classe Princess representa a lhama em loop com a função “jumping” uma vez que a mesma é libertada da gaiola.