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 + ".");




Ó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)}.`);