updated ui

This commit is contained in:
2023-01-09 20:08:38 +09:00
parent 8bd6c719ae
commit 67dda85476

View File

@@ -1,9 +1,45 @@
<script lang="ts">
export let pokemonData
$: {
console.log("TestInsideDisplay")
console.log(pokemonData)
// 性格補正 0.9/1/1.1
let atk_p = 1;
let def_p = 1;
let spatk_p = 1;
let spdef_p = 1;
let spd_p = 1;
if (!!atk_plus && !atk_minus) {
atk_p = 1.1;
} else if (!atk_plus && !!atk_minus) {
atk_p = 0.9;
}
if (!!def_plus && !def_minus) {
def_p = 1.1;
} else if (!def_plus && !!def_minus) {
def_p = 0.9;
}
if (!!spatk_plus && !spatk_minus) {
spatk_p = 1.1;
} else if (!spatk_plus && !!spatk_minus) {
spatk_p = 0.9;
}
if (!!spdef_plus && !spdef_minus) {
spdef_p = 1.1;
} else if (!spdef_plus && !!spdef_minus) {
spdef_p = 0.9;
}
if (!!spd_plus && !spd_minus) {
spd_p = 1.1;
} else if (!spd_plus && !!spd_minus) {
spd_p = 0.9;
}
if (pokemonData) {
hp_final = calculate_hp(pokemonData.hp, hp_v, hp_d);
atk_final = other_stats(pokemonData.attack, atk_v, atk_d, atk_p);
def_final = other_stats(pokemonData.defense, def_v, def_d, def_p);
spatk_final = other_stats(pokemonData.special_attack, spatk_v, spatk_d, spatk_p);
spdef_final = other_stats(pokemonData.special_defense, spdef_v, spdef_d, spdef_p);
spd_final = other_stats(pokemonData.speed, spd_v, spd_d, spd_p);
}
}
function generate_type(types) {
let parsed_types = JSON.parse(types);
@@ -86,6 +122,45 @@
})
return result.join('&nbsp;')
}
// 個体値 (V) 0-31
let hp_v = 0;
let atk_v = 0;
let def_v = 0;
let spatk_v = 0;
let spdef_v = 0;
let spd_v = 0;
// 努力値 0-252
let hp_d = 0;
let atk_d = 0;
let def_d = 0;
let spatk_d = 0;
let spdef_d = 0;
let spd_d = 0;
let hp_final = 0;
let atk_final = 0;
let def_final = 0;
let spatk_final = 0;
let spdef_final = 0;
let spd_final = 0;
let atk_plus = false;
let def_plus = false;
let spatk_plus = false;
let spdef_plus = false;
let spd_plus = false;
let atk_minus = false;
let def_minus = false;
let spatk_minus = false;
let spdef_minus = false;
let spd_minus = false;
function calculate_hp(stat, v, d) {
return Math.floor(((stat*2+v+(d/4))*0.5)+50+10)
}
function other_stats(stat, v, d, p) {
return Math.floor((((stat*2+v+(d/4))*0.5)+5)*p)
}
</script>
<div class="data-container">
@@ -111,30 +186,61 @@
<tr>
<td class="value-column"><b>HP</b></td>
<td class="atai-column"><b>{pokemonData.hp}</b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={hp_v} min=0 max=31></b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={hp_d} min=0 max=252></b></td>
<td class="atai-column"><b>{hp_final}</b></td>
<td class="atai-column"><b>+</b></td>
<td class="atai-column"><b>-</b></td>
</tr>
<tr>
<td class="value-column"><b>ATK</b></td>
<td class="atai-column"><b>{pokemonData.attack}</b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={atk_v} min=0 max=31></b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={atk_d} min=0 max=252></b></td>
<td class="atai-column"><b>{atk_final}</b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={atk_plus}></b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={atk_minus}></b></td>
</tr>
<tr>
<td class="value-column"><b>DEF</b></td>
<td class="atai-column"><b>{pokemonData.defense}</b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={def_v} min=0 max=31></b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={def_d} min=0 max=252></b></td>
<td class="atai-column"><b>{def_final}</b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={def_plus}></b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={def_minus}></b></td>
</tr>
<tr>
<td class="value-column"><b>S.ATK</b></td>
<td class="atai-column"><b>{pokemonData.special_attack}</b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={spatk_v} min=0 max=31></b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={spatk_d} min=0 max=252></b></td>
<td class="atai-column"><b>{spatk_final}</b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={spatk_plus}></b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={spatk_minus}></b></td>
</tr>
<tr>
<td class="value-column"><b>S.DEF</b></td>
<td class="atai-column"><b>{pokemonData.special_defense}</b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={spdef_v} min=0 max=31></b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={spdef_d} min=0 max=252></b></td>
<td class="atai-column"><b>{spdef_final}</b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={spdef_plus}></b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={spdef_minus}></b></td>
</tr>
<tr>
<td class="value-column"><b>SPD</b></td>
<td class="atai-column"><b>{pokemonData.speed}</b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={spd_v} min=0 max=31></b></td>
<td class="atai-column"><b><input class="vd-input" type=number bind:value={spd_d} min=0 max=252></b></td>
<td class="atai-column"><b>{spd_final}</b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={spd_plus}></b></td>
<td class="atai-column"><b><input type=checkbox bind:checked={spd_minus}></b></td>
</tr>
<tr>
<td class="value-column"><b>TOTAL</b></td>
<td class="atai-column"><b>{pokemonData.hp + pokemonData.attack + pokemonData.defense + pokemonData.special_attack + pokemonData.special_defense + pokemonData.speed}</b></td>
<td class="atai-column"></td>
</tr>
</table>
</div>
@@ -162,4 +268,8 @@
padding-left: 10px;
width: 50%;
}
.vd-input {
width: 50px;
height: 8px;
}
</style>