o link do código: https://editor.p5js.org/Jose511/sketches/5J35B90gX
Olá, Nícolas, tudo bem?
O problema da movimentação está na função acertou. 
Note que essa função posiciona nosso jogador exatamente em um X e um Y fixos na tela, portanto ela só deve ser chamada quando algo específico acontecer (como por exemplo, a colisão).
Mas você está chamando ela também na função draw que é repetida várias vezes por segundo. Assim, não importa que a gente clique os botões para mover o jogador, ele vai sempre voltar para aqueles X e Y fixos na tela.
A solução seria remover a função acertou de dentro da função draw e chamá-la somente quando realmente ocorrer uma colisão.
function draw() {
  background(imagemDoCell); 
  mostraPassaro();
  mostraPedra();
  movimentaPedra();
  movimentaPassaro();
  voltaposisao();
  //voltaposisaoPas();
  passouTodaATela();
  pedradaSky();
    //acertou();
}
(No exemplo acima comentei a linha apenas para você ver o que mudou, mas no seu código você pode removê-la!)
Também pude notar que há alguns um erro de digitação no seu código de colisão (a função pedradaSky dentro do arquivo passaro.js)
No collideRectCircle você chama duas vezes o vetor yPedras sendo que no primeiro argumento você deve chamar o vetor xPedras.
function pedradaSky(){
  for (let i = 0 ; i < imagensPedras.length; i = i + 1){
    colisao = collideRectCircle(
      xPedras[i], yPedras[i],
      comprimentoPedra,alturaPedra,
      xPassaro,yPassaro, 
      20);
    if (colisao){
      acertou();
    }
  }
}
Quebrei a linha na própria chamada do collideRectCircle para ficar mais fácil de ver.
Com essas duas alterações seu código funcionará bem! Tanto para mover o jogador, quanto para efetuar as colisões!
Espero ter ajudado!
Reforço que estou à disposição para tirar dúvidas.