JSFiddle - React, Tailwind, and code Playground
by Sure Sure
HTML
<SCRIPT LANGUAGE="JavaScript">
function calc(ch) {
if(ch == "calc"){
//入力値読込み
//整数型は整数型に
//小数型は12桁切上げに
base_atk = parseInt(document.form1.base_atk.value);
bonus_atk = parseInt(document.form1.bonus_atk.value);
bonus_dmg = parseInt(document.form1.bonus_dmg.value);
assault_rate = (parseFloat(document.form1.assault_rate.value)*1000000000000 + 0.5)/1000000000000;
full_rate = (parseFloat(document.form1.full_rate.value)*1000000000000 + 0.5)/1000000000000;
bonus_weak = parseInt(document.form1.bonus_weak.value);
bonus_element = parseInt(document.form1.bonus_element.value);
number_element = parseInt(document.form1.number_element.value);
chain_rate = (parseFloat(document.form1.chain_rate.value)*1000000000000 + 0.5)/1000000000000;
multiple_rate = (parseFloat(document.form1.multiple_rate.value)*1000000000000 + 0.5)/1000000000000;
number_hit = parseInt(document.form1.number_hit.value);
weak_flg = document.form1.weak_flg.value;
//基本計算
atk = Math.floor(base_atk + bonus_atk);
base_dmg = Math.floor(Math.pow(atk,0.95));
base_assault = Math.floor(atk * assault_rate);
//全力計算
full_dmg = Math.floor((base_dmg + base_assault) * 2);
//弱点計算
weak_dmg = Math.floor(Math.pow(atk,0.46) * bonus_weak);
//属性計算
element_dmg = Math.floor(bonus_element * number_element);
//集計
if(weak_flg == "1"){//弱点有効
total_base_dmg = Math.floor((base_dmg + base_assault + bonus_dmg + weak_dmg + element_dmg) * multiple_rate);
total_full_dmg = Math.floor((full_dmg + bonus_dmg + weak_dmg + element_dmg + atk * 0.09) * multiple_rate);
total_exp_dmg = Math.floor(((base_dmg + base_assault) * (1-full_rate) + (base_dmg + base_assault) * full_rate * 2 + bonus_dmg + weak_dmg + element_dmg + atk * 0.045) * multiple_rate);
}else{//弱点無効
total_base_dmg = Math.floor((base_dmg + base_assault + bonus_dmg + element_dmg) * multiple_rate);
total_full_dmg = Math.floor((full_dmg + bonus_dmg + element_dmg + atk * 0.09) * multiple_rate);
total_exp_dmg = Math.floor(((base_dmg + base_assault) *...