993
edições
Sem resumo de edição |
Sem resumo de edição |
||
(18 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
< | <style> | ||
.mw-body-content { | |||
display: flex; | |||
} | |||
.mw-parser-output { | |||
display: inline-block; | |||
padding: .5rem 2rem; | |||
margin: 0 auto; | |||
border: 30px solid transparent; | |||
border-image: url(https://wiki.pokexgames.com/images/3/37/Calculadora-de-Boost.png) 38; | |||
} | |||
</style> | |||
<form class="boostCalc__form" data-target="calcBoostForm"> | <form class="boostCalc__form" data-target="calcBoostForm"> | ||
Linha 28: | Linha 38: | ||
<div class="checkbox-group"> | <div class="checkbox-group"> | ||
<input placeholder=" " type="checkbox" name="specialBoost" id="specialBoostCheckbox"> | <input placeholder=" " type="checkbox" name="specialBoost" id="specialBoostCheckbox"> | ||
<label for="specialBoostCheckbox"> | <label for="specialBoostCheckbox">Marque se você irá usar metal, crystal ou ancient stone!</label> | ||
</div> | </div> | ||
Linha 39: | Linha 49: | ||
<div> | <div> | ||
<img src=" | <img src="https://wiki.pokexgames.com/images/a/a0/Seta-Calculadora.png" alt="Seta"> | ||
</div> | </div> | ||
Linha 50: | Linha 60: | ||
<div class="input-group"> | <div class="input-group"> | ||
<input placeholder=" " name="stonePrice" id="stonePrice" class="boostCalc__input" type="number"> | <input placeholder=" " name="stonePrice" id="stonePrice" step="0.01" class="boostCalc__input" type="number"> | ||
<label class="boostCalc__label" for="stonePrice">Digite o preço da stone (Ex: 8)</label> | <label class="boostCalc__label" for="stonePrice">Digite o preço da stone (Ex: 8)</label> | ||
</div> | </div> | ||
<div class="input-group"> | <div class="input-group"> | ||
<input placeholder=" " name="boostStonePrice" id="boostStonePrice" class="boostCalc__input" type="number"> | <input placeholder=" " name="boostStonePrice" id="boostStonePrice" step="0.01" class="boostCalc__input" type="number"> | ||
<label class="boostCalc__label" for="boostStonePrice">Digite o preço da Boost stone (Ex: 180)</label> | <label class="boostCalc__label" for="boostStonePrice">Digite o preço da Boost stone (Ex: 180)</label> | ||
</div> | </div> | ||
Linha 61: | Linha 71: | ||
<div class="d-flex justify-center align-center flex-column"> | <div class="d-flex justify-center align-center flex-column"> | ||
<button type="submit" class="hover-minimize" style="background:none;border:none;margin-top:1.5rem;cursor:pointer;"> | <button type="submit" class="hover-minimize" style="background:none;border:none;margin-top:1.5rem;cursor:pointer;"> | ||
<img style="border-radius:12px;" src=" | <img style="border-radius:12px;" src="https://wiki.pokexgames.com/images/d/d3/Banner_calculadora.png" alt="Imagem botão calcular boost" /> | ||
</button> | </button> | ||
<a href="javascript:void(0);" data-target="clearForm" class="mt-1"> Limpar campos </a> | <a href="javascript:void(0);" data-target="clearForm" class="mt-1"> Limpar campos </a> | ||
</div> | </div> | ||
</form> | </form> | ||
<div data-target="boostCalc-resultContainer" class="boostCalc__resultContainer d-none mt-2"> | |||
<h5 class="boostCalc__resultTitle">Resultado</h5> | |||
<h6 data-target="boostCalc-result" class="boostCalc__result"></h6> | |||
</div> | |||
<script> | <script> | ||
Linha 82: | Linha 97: | ||
// Função que retorna o calculo de gasto para boostar um pokemon (Forma normal) | // Função que retorna o calculo de gasto para boostar um pokemon (Forma normal) | ||
function calcNormalBoost(initBoost, endBoost, boostType, stonePrice, boostStonePrice) { | |||
const responseBoost = []; | |||
let usedNormalStones = 0; | |||
let usedBoostStones = 0; | |||
let stonesForBoost = 0; | |||
for (i = 0; i <= initBoost; i++) { | |||
if (i % boostType === 0) stonesForBoost++; | |||
} | |||
for (i = initBoost + 1; i <= endBoost; i++) { | |||
if ((stonesForBoost * stonePrice) < boostStonePrice) { | |||
usedNormalStones += stonesForBoost; | |||
} else { | |||
usedBoostStones++; | |||
} | |||
if (i % boostType == 0 && i != initBoost) stonesForBoost++; | |||
responseBoost.push( | |||
{ | |||
price: (usedNormalStones * stonePrice) + (usedBoostStones * boostStonePrice), | |||
normal_stones: usedNormalStones, | |||
boost_stones: usedBoostStones, | |||
boost: i | |||
} | } | ||
); | |||
} | |||
return responseBoost; | |||
} | |||
// Função que retorna o calculo de gasto para boostar um pokemon (Exceção) | // Função que retorna o calculo de gasto para boostar um pokemon (Exceção) | ||
function calcExceptionBoost(initBoost, endBoost, boostType, stonePrice, boostStonePrice) { | function calcExceptionBoost(initBoost, endBoost, boostType, stonePrice, boostStonePrice) { | ||
const responseBoost = []; | const responseBoost = []; | ||
let usedNormalStones = 0; | let usedNormalStones = 0; | ||
let usedBoostStones = 0; | let usedBoostStones = 0; | ||
Linha 149: | Linha 162: | ||
responseBoost.push( | responseBoost.push( | ||
{ | { | ||
price: | price: (usedNormalStones * stonePrice) + (usedBoostStones * boostStonePrice), | ||
normal_stones: usedNormalStones, | normal_stones: usedNormalStones, | ||
boost_stones: usedBoostStones, | boost_stones: usedBoostStones, | ||
Linha 169: | Linha 182: | ||
responseBoost.push( | responseBoost.push( | ||
{ | { | ||
price: | price: (usedNormalStones * stonePrice) + (usedBoostStones * boostStonePrice), | ||
normal_stones: usedNormalStones, | normal_stones: usedNormalStones, | ||
boost_stones: usedBoostStones, | boost_stones: usedBoostStones, | ||
Linha 205: | Linha 218: | ||
Pedras comuns: <span class=""> ${result[result.length - 1].normal_stones} </span> | Pedras comuns: <span class=""> ${result[result.length - 1].normal_stones} </span> | ||
Pedras de boost: <span class=""> ${result[result.length - 1].boost_stones} </span> | Pedras de boost: <span class=""> ${result[result.length - 1].boost_stones} </span> | ||
Custo total: <span class=""> ${result[result.length - 1].price} K </span> | Custo total: <span class=""> ${result[result.length - 1].price >= 1000 ? `${formatNumber(result[result.length - 1].price / 1000)} KK` : `${formatNumber(result[result.length - 1].price)} K`}</span> | ||
`; | `; | ||
} else { | } else { | ||
Linha 212: | Linha 225: | ||
Pedras comuns: <span class=""> ${result[result.length - 1].normal_stones} </span> | Pedras comuns: <span class=""> ${result[result.length - 1].normal_stones} </span> | ||
Pedras de boost: <span class=""> ${result[result.length - 1].boost_stones} </span> | Pedras de boost: <span class=""> ${result[result.length - 1].boost_stones} </span> | ||
Custo total: <span class=""> ${result[result.length - 1].price} K </span> | Custo total: <span class=""> ${result[result.length - 1].price >= 1000 ? `${formatNumber(result[result.length - 1].price / 1000)} KK` : `${formatNumber(result[result.length - 1].price / 1000)} K`}</span> | ||
`; | `; | ||
} | } | ||
console.log(result) | // console.log("Relação de boost a boost:"); | ||
// console.log(result); | |||
document.querySelector("[data-target='boostCalc-resultContainer']").classList.remove("d-none"); | document.querySelector("[data-target='boostCalc-resultContainer']").classList.remove("d-none"); | ||
}); | }); | ||
}); | }); | ||
</script> | </script> |