「javascript/サーヴァント経験値計算」の編集履歴(バックアップ)一覧はこちら

javascript/サーヴァント経験値計算 - (2021/08/01 (日) 23:47:20) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

#javascript(){{{{{ <style> #svExp tbody tr td:nth-of-type(1){text-align: center;} #svExp input[type=text]{text-align: right;} </style> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type="text/javascript"> function func(){ // 数値を取得 var now = parseFloat($('#svExp [name="nowLv"]').val()); var goal = parseFloat($('#svExp [name="goaLv"]').val()); // 現在レベルが目標レベルより高い場合は、1Lv分だけ計算 if(now >= goal){goal = now + 1.0;} // 目標レベルが120超の場合、Lv.120までに修正 if(goal >= 120){goal = 100;} // 現在レベルから目標レベルまでに必要な経験値を計算 var Tn = exp_total(now); var Tg = exp_total(goal); exp = Tg - Tn; // 現在レベルが120超の場合 if(now >= 120){exp = 0;} // テーブルに入力 $('#svExp [name="totalEXP"]').val('' + exp); //必要になる強化素材数を計算してテーブルに入力 $('#svExp input.num').each(function(i, out){ if(out.name.match(/(\d+?)(.+?)/)){ var n = RegExp.$1; var x = RegExp.$2; if (x == 'A'){var mag = 1.2;} else if (x == 'B'){var mag = 1.0;} $(out).val(Math.ceil(exp / (1000 * Math.pow(3, n-1) * mag))); } }); } function exp_total(Lv){ // Lv.91以上の場合は、別な経験値テーブルを参照 // ただし、対象がサーヴァントの場合のみ var over90 = [ 12567000, 13021900, 13532000, 14116500, 14795000, 15587500, 16514400, 17596500, 18855000, 20311500, 40623000, 60934500, 81246000, 101557500, 121869000, 142180500, 162492000, 182803500, 203115000, 223426500, 243738000, 264049500, 284361000, 304672500, 324984000, 345295500, 365607000, 385918500, 406230000, 426541500 ]; var sv = $('#svExp [name="sv_ce"]').val(); if(sv == 1 && Lv > 90){return over90[Lv - 91];} // Lv.90以下 return 100.0 * Lv * (Lv - 1.0) * (Lv + 1.0) / 6.0; } </script> }}}}} #html2(){{ <table id="svExp"> <tbody> <tr> <td>現在のレベル</td> <td colspan="2"><input type="number" maxlength="6" style="width:6em;" name="nowLv" value="1"></td> </tr> <tr> <td>目標のレベル</td> <td colspan="2"><input type="number" maxlength="6" style="width:6em;" name="goaLv" value="0"></td> </tr> <tr> <td>対象</td> <td colspan="2"><select name="sv_ce" style="width:10em;"> <option value="1" selected>サーヴァント</option> <option value="0">概念礼装</option> </select></td> </tr> <tr> <td colspan="3"><form name="calc" id="calc"><input type="button" value="計算" onclick="func()"></form></td> </tr> <tr> <td><b>必要経験値</b></td> <td colspan="2"><input readonly type="text" style="width:8em;" name="totalEXP"></td> </tr> <tr align=center> <td>強化素材</td> <td>クラス一致</td> <td>クラス不一致</td> </tr> <tr> <td>★1 叡智の種火</td> <td><input readonly type="text" style="width:5em;" name="1A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="1B" class="num"> 個</td> </tr> <tr> <td>★2 叡智の灯火</td> <td><input readonly type="text" style="width:5em;" name="2A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="2B" class="num"> 個</td> </tr> <tr> <td>★3 叡智の大火</td> <td><input readonly type="text" style="width:5em;" name="3A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="3B" class="num"> 個</td> </tr> <tr> <td>★4 叡智の猛火</td> <td><input readonly type="text" style="width:5em;" name="4A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="4B" class="num"> 個</td> </tr> </tbody> </table> }}
#javascript(){{{{{ <style> #svExp tbody tr td:nth-of-type(1){text-align: center;} #svExp input[type=text]{text-align: right;} </style> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type="text/javascript"> function func(){ // 数値を取得 var now = parseFloat($('#svExp [name="nowLv"]').val()); var goal = parseFloat($('#svExp [name="goaLv"]').val()); // 現在レベルが目標レベルより高い場合は、1Lv分だけ計算 if(now >= goal){goal = now + 1.0;} // 目標レベルが100超の場合、Lv.100までに修正 var sv = $('#svExp [name="sv_ce"]').val(); if (sv == 1 && goal >= 120) { goal = 120; } else if(goal >= 100){goal = 100;} // 現在レベルから目標レベルまでに必要な経験値を計算 var Tn = exp_total(now); var Tg = exp_total(goal); exp = Tg - Tn; // 現在レベルが100超の場合 if((sv == 1 && now >= 120) || (now >= 100)){exp = 0;} // テーブルに入力 $('#svExp [name="totalEXP"]').val('' + exp); //必要になる強化素材数を計算してテーブルに入力 $('#svExp input.num').each(function(i, out){ if(out.name.match(/(\d+?)(.+?)/)){ var n = RegExp.$1; var x = RegExp.$2; if (x == 'A'){var mag = 1.2;} else if (x == 'B'){var mag = 1.0;} $(out).val(Math.ceil(exp / (1000 * Math.pow(3, n-1) * mag))); } }); } function exp_total(Lv){ // Lv.91以上の場合は、別な経験値テーブルを参照 // ただし、対象がサーヴァントの場合のみ var over90 = [ 12567000, 13021900, 13532000, 14116500, 14795000, 15587500, 16514400, 17596500, 18855000, 20311500, 40623000, 60934500, 81246000, 101557500, 121869000, 142180500, 162492000, 182803500, 203115000, 223426500, 243738000, 264049500, 284361000, 304672500, 324984000, 345295500, 365607000, 385918500, 406230000, 426541500 ]; var sv = $('#svExp [name="sv_ce"]').val(); if(sv == 1 && Lv > 90){return over90[Lv - 91];} // Lv.90以下 return 100.0 * Lv * (Lv - 1.0) * (Lv + 1.0) / 6.0; } </script> }}}}} #html2(){{ <table id="svExp"> <tbody> <tr> <td>現在のレベル</td> <td colspan="2"><input type="number" maxlength="6" style="width:6em;" name="nowLv" value="1"></td> </tr> <tr> <td>目標のレベル</td> <td colspan="2"><input type="number" maxlength="6" style="width:6em;" name="goaLv" value="0"></td> </tr> <tr> <td>対象</td> <td colspan="2"><select name="sv_ce" style="width:10em;"> <option value="1" selected>サーヴァント</option> <option value="0">概念礼装</option> </select></td> </tr> <tr> <td colspan="3"><form name="calc" id="calc"><input type="button" value="計算" onclick="func()"></form></td> </tr> <tr> <td><b>必要経験値</b></td> <td colspan="2"><input readonly type="text" style="width:8em;" name="totalEXP"></td> </tr> <tr align=center> <td>強化素材</td> <td>クラス一致</td> <td>クラス不一致</td> </tr> <tr> <td>★1 叡智の種火</td> <td><input readonly type="text" style="width:5em;" name="1A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="1B" class="num"> 個</td> </tr> <tr> <td>★2 叡智の灯火</td> <td><input readonly type="text" style="width:5em;" name="2A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="2B" class="num"> 個</td> </tr> <tr> <td>★3 叡智の大火</td> <td><input readonly type="text" style="width:5em;" name="3A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="3B" class="num"> 個</td> </tr> <tr> <td>★4 叡智の猛火</td> <td><input readonly type="text" style="width:5em;" name="4A" class="num"> 個</td> <td><input readonly type="text" style="width:5em;" name="4B" class="num"> 個</td> </tr> </tbody> </table> }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: