Article image
Bruna Nunes
Bruna Nunes14/01/2024 13:38
Compartilhe

Desafio do Herói

  • #JavaScript

E aí pessoal, sou nova na área e tô tentando desenrolar por aqui... fiz meu primeiro desafio, olha só:

var heroName = 'Elfa da Noite';

var hp = 86;

var tier = 3160;

var tminDamage = 3675;

if (tier < 1000) tier = 'Iron';

else if (tier <= 2000) tier = 'Bronze';

else if (tier <= 5000) tier = 'Silver';

else if (tier <= 7000) tier = 'Gold';

else if (tier <= 8000) tier = 'Platinum';

else if (tier <= 9000) tier = 'Ascendant';

else if (tier <= 10000) tier = 'Immortal';

else tier = 'Radiant';

var level = Math.round(tminDamage / 100);

console.log("O herói " + heroName + " faz parte da classe " + tier + " e está no nível " + level + ".");

Compartilhe
Comentários (1)
MÁRCIO SILVA
MÁRCIO SILVA - 14/01/2024 15:06

Ótimo Bruna, a título de aprendizagem você poderia testar usando const para variáveis que não serão reatribuídas e usando o let para variáveis que serão reatribuídas.

ASSIM:

const heroName = 'Elfa da Noite';

let hp = 86;

let tier = 3160;

const tminDamage = 3675;


Utilizar uma função para calcular uma classe, tornando o código mais modular e mais fácil de entender.


function calcularClasse(tier) {

  if (tier < 1000) return 'Iron';

  if (tier <= 2000) return 'Bronze';

  if (tier <= 5000) return 'Silver';

  if (tier <= 7000) return 'Gold';

  if (tier <= 8000) return 'Platinum';

  if (tier <= 9000) return 'Ascendant';

  if (tier <= 10000) return 'Immortal';

  return 'Radiant';

}


const classeDoHeroi = calcularClasse(tier);


Por fim usar interpolação de strings, tornando a construção de strings mais legível.


ASSIM:

console.log(`O herói ${heroName} faz parte da classe ${classeDoHeroi} e está no nível ${Math.round(tminDamage / 100)}.`);


==========================================================

ASSIM FICARIA A REFATORAÇÃO, não é correção, mas como são interessantes as várias formas de implementação de um código não é mesmo, abraço e bom aprendizado.


const heroName = 'Elfa da Noite';

let hp = 86;

let tier = 3160;

const tminDamage = 3675;


function calcularClasse(tier) {

  if (tier < 1000) return 'Iron';

  if (tier <= 2000) return 'Bronze';

  if (tier <= 5000) return 'Silver';

  if (tier <= 7000) return 'Gold';

  if (tier <= 8000) return 'Platinum';

  if (tier <= 9000) return 'Ascendant';

  if (tier <= 10000) return 'Immortal';

  return 'Radiant';

}


const classeDoHeroi = calcularClasse(tier);


console.log(`O herói ${heroName} faz parte da classe ${classeDoHeroi} e está no nível ${Math.round(tminDamage / 100)}.`);