If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

O personagem castor

Vamos começar fazendo nosso personagem, o castor saltitante. Iremos usar o design orientado a objeto, discutido neste tutorial, para descrever nosso personagem Beaver (Castor).
Na criação de um personagem de jogo devemos pensar sobre quais propriedades e comportamentos ele deve ter. Por exemplo, nosso castor deve manter registro da sua posição x e o y e quantos gravetos ele coletou. Ele também precisa de dois comportamentos: saltar, que faz com que ele pule um pouco para cima, e cair, que faz cair um pouco.
É assim que ele deve parecer, como um objeto:
Porém aquele programa não faz um bom trabalho na verificação dos diferentes comportamentos - não é animado, então só podemos vê-lo em um estado. Vamos adicionar a função draw, para que possamos falar para o castor fazer diferentes coisas dependendo da interação do usuário. Para este jogo queremos que o castor pule sempre que a tecla de espaço for pressionada. Isso pode ser implementado de uma maneira simples:
draw = function() {
    background(255, 255, 255);
    if (keyIsPressed && keyCode === 0) {
        beaver.hop();
    } else {
        beaver.fall();
    }
    beaver.draw();
};
Isso é um código bastante eficaz, mas se o rodarmos teríamos que continuamente apertar nossa barra de espaço para impedir que o castor pulasse fora de nossa tela para sempre, para nunca retornar. Nós devemos restringir os valores de y para um valor razoável, para manter o castor na tela. Isso é bastante comum nos jogos, manter o personagem no "mundo do jogo". Podemos fazer isso usando constrain na função draw, passando para ela um mínimo e máximo apropriados.
 this.y = constrain(this.y, 0, height-50);
Agora, aqui está nosso programa, com um castor que pula e cai, controlado pelo teclado. Brinque um pouco mais com ele!!

Quer participar da conversa?

Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.