「戦闘力リストフォーム」の編集履歴(バックアップ)一覧に戻る
戦闘力リストフォーム - (2007/05/26 (土) 12:54:22) のソース
<h2><a>戦闘力リストフォーム</a></h2> <div>戦闘力からパーティの組み合わせを探す事を目的としたフォームです。<br> 特定の組み合わせのパーティの戦闘力を知りたい場合は、<a href="http://www16.atwiki.jp/sr_archives/pages/63.html">戦闘力計算フォーム</a>をご利用下さい。<br> TW1無限のファンタジアのLv1をシルバーレインのLv10に置き換えて計算を行っています。<br> <br> このフォームはインラインフレームとJavaScriptを用いて計算を行っています。<br> 申し訳ありませんが、インラインフレームとJavaScriptに対応していないブラウザ(携帯ブラウザなど)ではご利用頂けません。</div> <br> <div>最終更新:2007/05/26</div> <ul> <li>戦闘力リストフォームを設置しました。</li> </ul> <br> <div><script language="JavaScript"> <!-- var lv_min = 14; var lv_max = 28; var a_bp = new Array(); a_bp[0] = 0; a_bp[10] = 21; a_bp[11] = 23; a_bp[12] = 26; a_bp[13] = 29; a_bp[14] = 33; a_bp[15] = 38; a_bp[16] = 43; a_bp[17] = 49; a_bp[18] = 56; a_bp[19] = 63; a_bp[20] = 71; a_bp[21] = 80; a_bp[22] = 89; a_bp[23] = 99; a_bp[24] = 110; a_bp[25] = 121; a_bp[26] = 133; a_bp[27] = 146; a_bp[28] = 159; a_bp[29] = 173; a_bp[30] = 188; a_bp[31] = 203; a_bp[32] = 219; a_bp[33] = 236; a_bp[34] = 253; a_bp[35] = 271; a_bp[36] = 290; a_bp[37] = 309; a_bp[38] = 329; a_bp[39] = 350; a_bp[40] = 371; a_bp[41] = 393; a_bp[42] = 416; a_bp[43] = 439; a_bp[44] = 463; a_bp[45] = 488; a_bp[46] = 513; a_bp[47] = 539; a_bp[48] = 566; a_bp[49] = 593; a_bp[50] = 621; a_bp[51] = 650; a_bp[52] = 679; a_bp[53] = 709; a_bp[54] = 740; a_bp[55] = 771; a_bp[56] = 803; a_bp[57] = 836; a_bp[58] = 869; a_bp[59] = 903; a_bp[60] = 938; a_bp[61] = 973; a_bp[62] = 1009; a_bp[63] = 1046; a_bp[64] = 1083; a_bp[65] = 1121; a_bp[66] = 1160; a_bp[67] = 1199; a_bp[68] = 1239; a_bp[69] = 1280; a_bp[70] = 1321; a_bp[71] = 1363; a_bp[72] = 1406; a_bp[73] = 1449; a_bp[74] = 1493; a_bp[75] = 1538; a_bp[76] = 1583; a_bp[77] = 1629; a_bp[78] = 1676; a_bp[79] = 1723; a_bp[80] = 1771; a_bp[81] = 1820; a_bp[82] = 1869; a_bp[83] = 1919; a_bp[84] = 1970; var _f; var _r; var _rd; // -------- レイアウト生成 -------- function lo_set(){ var i; document.write('<form name="bp">'); document.write('自分のLv:<select name="lv">'); for(i = lv_min; i <= lv_max; i++){ document.write('<option value=' + i + '>' + i); } document.write('</select>'); document.write(' Lv上限:<select name="lv2">'); for(i = lv_min; i <= lv_max; i++){ if(i == lv_max){ document.write('<option value=' + i + ' selected>' + i); } else{ document.write('<option value=' + i + '>' + i); } } document.write('</select>'); document.write('<br><br>'); document.write('<input type="button" value="結果を表示" onClick="calc_bp()">'); document.write('</form>'); document.write('<iframe id="result" width="95%" style="height:20em">'); document.write('</iframe>'); p_set(); _rd.open(); css_set(); _rd.write('ここに結果が表示されます。'); _rd.close(); } lo_set(); // -------- ポインターセット -------- function p_set(){ _f = document.bp; _r = document.getElementById("result"); if(document.all){ _rd = _r.contentWindow.document; } else{ _rd = _r.contentDocument; } } // -------- css -------- function css_set(){ _rd.write('<head>'); _rd.write('<style type="text/css">'); _rd.write('body{'); _rd.write(' pading:0.5em;'); _rd.write(' margin-left:2%;'); _rd.write(' margin-right:2%;'); _rd.write(' font-size:small;'); _rd.write(' font-family:verdana, arial, helvetica, Sans-Serif;'); _rd.write('}'); _rd.write('table{'); _rd.write(' display:table;'); _rd.write(' border-spacing:2px;'); _rd.write(' border-collapse:collapse;'); _rd.write(' margin-top:1em;'); _rd.write(' margin-bottom:1em;'); _rd.write(' -moz-box-sizing:border-box;'); _rd.write(' text-indent:0;'); _rd.write(' border:1px solid #333;'); _rd.write(' line-height:1.2em;'); _rd.write('}'); _rd.write('tr{'); _rd.write(' vertical-align:middle;'); _rd.write('}'); _rd.write('th{'); _rd.write(' display:table-cell;'); _rd.write(' background-color:lightblue;'); _rd.write(' margin-left:2%;'); _rd.write(' margin-right:2%;'); _rd.write(' font-size:x-small;'); _rd.write(' font-family:verdana, arial, helvetica, Sans-Serif;'); _rd.write(' font-weight:700;'); _rd.write(' vertical-align:inherit;'); _rd.write(' text-align:center;'); _rd.write(' padding:3px;'); _rd.write(' border:1px solid #333;'); _rd.write('}'); _rd.write('td{'); _rd.write(' display:table-cell;'); _rd.write(' margin-left:2%;'); _rd.write(' margin-right:2%;'); _rd.write(' font-size:x-small;'); _rd.write(' font-family:verdana, arial, helvetica, Sans-Serif;'); _rd.write(' vertical-align:inherit;'); _rd.write(' text-align:inherit;'); _rd.write(' padding:3px;'); _rd.write(' border:1px solid #333;'); _rd.write('}'); _rd.write('h2{'); _rd.write(' border-top:none;'); _rd.write(' border-bottom:1px solid #aaa;'); _rd.write(' border-left:9px solid #aaa;'); _rd.write(' border-right:none;'); _rd.write(' padding:0.1em;'); _rd.write(' margin:1px;'); _rd.write(' margin-botton:5px;'); _rd.write(' font-size:1.2em;'); _rd.write(' font-family: verdana, arial, helvetica, Sans-Serif;'); _rd.write('}'); _rd.write('</style>'); _rd.write('</head>'); } // -------- 数値→文字 -------- function nts(p1){ var t_str = "000000"; t_str = t_str + p1; t_str = t_str.substr(t_str.length - 6, 6); return t_str; } // -------- 文字→数値 -------- function stn(p1, p2){ var t_num; t_num = parseFloat(p1.substr(p2 * 6, 6)); if(t_num <= 0) return ""; return t_num; } // -------- 戦闘力計算 -------- function calc_bp(){ /* t_bp = 512; t_bp = nts(t_bp); document.write(t_bp); document.write('<br>'); t_bp = stn(t_bp, 0); document.write(t_bp);*/ var s_0 = "000000"; var t_lv = eval(_f.lv.value); var t_lv2 = eval(_f.lv2.value); var i; var j; var k; var t_bp; var a_rst = new Array(); var n_cnt = 0; // ---- 1PT t_bp = a_bp[t_lv]; a_rst[n_cnt] = nts(t_bp) + nts(t_lv) + s_0 + s_0 + s_0; n_cnt++; // ---- 2PT for(i = lv_min; i <= t_lv2; i++){ t_bp = a_bp[t_lv] + a_bp[i]; a_rst[n_cnt] = nts(t_bp) + nts(t_lv) + nts(i) + s_0 + s_0; n_cnt++; } // ---- 3PT for(i = lv_min; i <= t_lv2; i++){ for(j = i; j <= t_lv2; j++){ t_bp = a_bp[t_lv] + a_bp[i] + a_bp[j]; a_rst[n_cnt] = nts(t_bp) + nts(t_lv) + nts(i) + nts(j) + s_0; n_cnt++; } } // ---- 4PT for(i = lv_min; i <= t_lv2; i++){ for(j = i; j <= t_lv2; j++){ for(k = j; k <= t_lv2; k++){ t_bp = a_bp[t_lv] + a_bp[i] + a_bp[j] + a_bp[k]; a_rst[n_cnt] = nts(t_bp) + nts(t_lv) + nts(i) + nts(j) + nts(k); n_cnt++; } } } a_rst.sort(); _rd.open(); css_set(); _rd.write('<table>'); _rd.write('<tr>'); _rd.write('<th>戦闘力</th><th>自 分</th><th>2人目</th><th>3人目</th><th>4人目</th>'); _rd.write('</tr>'); for(i = 0; i < n_cnt; i++){ _rd.write('<tr>'); _rd.write('<td>' + stn(a_rst[i], 0) + '</td>'); _rd.write('<td>' + stn(a_rst[i], 1) + '</td>'); _rd.write('<td>' + stn(a_rst[i], 2) + '</td>'); _rd.write('<td>' + stn(a_rst[i], 3) + '</td>'); _rd.write('<td>' + stn(a_rst[i], 4) + '</td>'); _rd.write('</tr>'); } _rd.write('</table>'); _rd.close(); } //--> </script></div> <h2><a>使い方</a></h2> <div>あなたの現在のLv(あなたのLv)を選択して下さい。<br> <br> 仲間にするキャラクターのLvの上限(Lv上限)を選択して下さい。<br> こちらは選択しなくても構いません。<br> <br> 選択が終わったら「結果を表示」ボタンを押して下さい。<br> (計算量が多い為、結果が表示されるまでに時間がかかります)<br> <br> 結果は以下の書式で記述してあります。<br> 空欄がある場合は、その人数でのパーティが目的の戦闘力のパーティになります。<br> |合計戦闘力|あなたのLv|2人目のLv|3人目のLv|4人目のLv|</div>