> Tutorial
Já usamos várias funções e métodos (setWeapon, moveToward etc.). Você também pode criar suas próprias funções, com a seguinte sintaxe:
functionsum( x, y ){ return x + y }A palavra-chave opcional return faz a função retornar um valor. No exemplo anterior, a função recebe os parâmetros x e y e retorna a soma deles: x + y.
canFinish(enemy)Nosso código anterior para a condição de "finalização" do inimigo é bem longo e difícil de reutilizar, então vamos colocá-lo em uma função.
Vamos criar nossa própria função, canFinish(enemy), que recebe um inimigo e retorna um booleano dizendo se conseguimos finalizá-lo ou não.
Copiamos o código de finalização para dentro de uma função, assim:
Agora podemos usar nossa função canFinish no código principal, que fica bem mais simples:
Você sabia? Mover um código repetido em vários lugares para uma única função se chama fatoração.
getClosestCellToUseWeapon(enemy)Você deve ter notado que, para usar a Metralhadora ou, mais adiante, o Laser, é preciso estar alinhado com o inimigo.
Então você vai ter que se mover até uma célula de onde possa usar sua arma, em vez de simplesmente avançar em direção ao inimigo como com a Pistola.
Para isso, o método me.weaponCells(enemy) retorna todas as células de onde você pode usar sua arma em um alvo. Vamos ter que escolher uma delas: a mais próxima!
Então vamos criar uma função getClosestCellToUseWeapon e usar um loop for of para encontrar a célula que está à menor distância de nós:
Usamos essa função para substituir o movimento:
Para ver melhor o terreno e as células, fique à vontade para usar o modo tático apertando T durante um combate.
Nos próximos capítulos, vamos abordar assuntos mais difíceis, então reserve um tempo para brincar com suas funções e com os conceitos que vimos até aqui: eles já bastam para subir no ranking!
Qual destas funções retorna corretamente o quadrado de um número?
function square(x) { return x * x } function square(x) { x * x } function square() { return x * x } fonction square(x) { return x * x }
Qual função calcula o máximo de uma lista?
function maximum(list) { let maxi = -99999 for (const e of list) { if (e > maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = 99999 for (const e of list) { if (e < maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = 99999 for (const e of list) { if (e > maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = -99999 for (const e of list) { if (e < maxi) { maxi = e } } return maxi }
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.