1
resposta

Outra forma de executar o teste e uma Dúvida sobre boas práticas

No meu joguinho além dos comando para mover o ator para Cima e para Baixo eu inseri as linhas de comando para mover o ator para Esquerda e Direita, portanto além do teste para garantir que o ator não fosse sair pela parte de baixo da tela, que foi o objetivo proposto na aula, eu tinha também que testar a posição X do ator para que ele não saísse pelas laterais do Canvas. A princípio a ideia mais obvia foi repetir a solução do professor e criar uma nova função para os comandos de movimento para a esquerda e direita, mas como durante as aulas o professor já falou sobre funções parecidas fazendo tarefas similares eu fui tentando de outras maneiras encurtar esse processo da verificação. A forma mais simples que eu consegui fazer foi declarar duas variáveis dentro da minha função que move o ator (xLimiteEsquerda e xLimiteDireita) e fazer o if comparando o xAtor com o valor da variavel do limite da esquerda ou direita repectivamente. Segue o Código:

//Movimentacao do Ator
function movimentaAtor(){

  let xLimiteEsquerda = 0;
  let xLimiteDireita = 470;

// Controle SETAS
  if (keyIsDown(UP_ARROW)){ //Seta Cima
    yAtor -=2;
  }

  if (keyIsDown(DOWN_ARROW)){ //Seta Baixo
    if (atorNoLimiteDaTela()){
      yAtor +=2;
    }
  }

  if (keyIsDown(LEFT_ARROW)){ //Seta Esq
    if(xAtor > xLimiteEsquerda){  
      xAtor -=2;
    }
  }

  if (keyIsDown(RIGHT_ARROW)){ //Seta Dir
    if(xAtor < xLimiteDireita){ 
      xAtor +=2;
    }
  }

///////////////////////////////////////////////////////  

// Controle WASD  
  if (keyIsDown(87)){ //Tecla W
    yAtor -=2;
  }

  if (keyIsDown(65)){ // Tecla A
    if(xAtor > xLimiteEsquerda){ 
      xAtor -=2;
    }
  }

  if (keyIsDown(83)){ //Tecla S
    if (atorNoLimiteDaTela()){
      yAtor +=2;
    }
  }

  if (keyIsDown(68)){ //Tecla D
    if(xAtor < xLimiteDireita){ 
      xAtor +=2;
    }
  }
}

Funcionou certinho do jeito que eu queria mas aí é que entra a minha questão sobre boas práticas, principalmente porque sempre nas aulas o professor usa termos como organizar o código, melhorar, deixar menos bagunçado, manter um padrão. Pra eu que estou começando a aprender agora sobre programação esse tipo de "regra extraoficial" parece subjetivo demais pra pegar e entender logo de cara. Objetivamente sobre a resolução do meu problema, ele pode ser considerado bom ou ruim em relação a organização, legibilidade do código?

E se alguém quiser falar mais sobre o que caracteriza um código bom ou ruim nesse sentido de boas práticas. Seria maior ou menor uso de funções ou variáveis por exemplo, abreviação de expressões?

1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!