updated ui
This commit is contained in:
@@ -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(' ')
|
||||
}
|
||||
// 個体値 (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>
|
||||
Reference in New Issue
Block a user