<html>
<head>
<title>kcship</title>
<script src="api_start2.js"></script>
<script type="text/javascript">
<!--
var fld_ship = [
["api_id", "ID"],
["api_name", "名前"],
["api_stype", "艦種"],
["api_afterlv", "改造Lv"],
["api_houg", "火力", 2],
["api_raig", "雷装", 2],
["api_tyku", "対空", 2],
["api_tais", "対潜", 2],
["api_saku", "索敵", 2],
["api_luck", "運"],
["api_taik", "耐久"],
["api_souk", "装甲", 2],
["api_kaih", "回避", 2],
["api_sokuh", "高速"],
["api_leng", "射程"],
["api_slot_num", "スロット"],
["api_maxeq", "搭載", 1],
["api_fuel_max", "燃料"],
["api_bull_max", "弾薬"],
];
var fld_slot = [
["api_id", "ID", 0],
["api_sortno", "No", 0],
["api_name", "装備名", 0],
["api_type", "type", 0],
//["api_taik", "taik", 0],
["api_souk", "装甲", 0],
["api_houg", "砲撃", 0],
["api_raig", "雷撃", 0],
//["api_soku", "soku", 0],
["api_baku", "爆撃", 0],
["api_tyku", "対空", 0],
["api_tais", "対潜", 0],
//["api_atap", "atap", 0],
["api_houm", "砲撃命中", 0],
//["api_raim", "雷撃命中", 0],
["api_houk", "砲撃回避", 0],
//["api_raik", "雷撃回避", 0],
//["api_bakk", "爆撃回避", 0],
["api_saku", "索敵", 0],
//["api_sakb", "", 0],
//["api_luck", "運", 0],
["api_leng", "射程", 0],
["api_rare", "レア", 0],
["api_broken", "破棄", 0],
//["api_info", "", 0],
//["api_usebull", "", 0],
];
function CreateSlotTable()
{
var slot = svdata.api_data.api_mst_slotitem;
var table = CreateTable(fld_slot);
// body
for (var r = 0; r < slot.length; r++) {
var record = slot[r];
var tbody = table.createTBody();
var row = tbody.insertRow();
row.bgColor = (r & 1) ? "WHEAT" : "WHITE";
AppendCell(row, r + 1);
for (var i in fld_slot) {
var value = record[fld_slot[i][0]];
switch (fld_slot[i][2]) {
case 1:
break;
}
AppendCell(row, value);
}
}
}
function CreateGeneralTable(name)
{
var mst = svdata.api_data[name];
var table = CreateTable(mst[0]);
// caption
{
var cap = table.createCaption();
cap.style.setAttribute("text-align", "left");
cap.style.setAttribute("margin", "3px");
var text = document.createTextNode(name);
cap.appendChild(text);
}
// body
for (var r = 0; r < mst.length; r++) {
var record = mst[r];
var tbody = table.createTBody();
var row = tbody.insertRow();
row.bgColor = (r & 1) ? "WHEAT" : "WHITE";
AppendCell(row, r + 1);
for (var key in record) {
var value = record[key];
AppendCell(row, value);
}
}
}
function CreateShipTable()
{
// 艦種
var stype = null;
for (var i = 0; i < document.f1.r1.length; i++) {
if (document.f1.r1[i].checked) {
stype = document.f1.r1[i].value.split(",");
break;
}
}
if (stype == null) {
window.alert("艦種を選んでください。");
return;
}
var ship = svdata.api_data.api_mst_ship;
var table = CreateTable(fld_ship);
// body
var line = 0;
for (var r in ship) {
var record = ship[r];
if (record.api_sortno == 0) {
continue;
}
if (stype.indexOf(String(record.api_stype)) < 0) {
continue;
}
if (record.api_afterlv == 0) {
if (document.f1.c2.checked == false) {
continue;
}
} else {
if (document.f1.c1.checked == false) {
continue;
}
}
var tbody = table.createTBody();
var row = tbody.insertRow();
row.bgColor = (line++ & 1) ? "WHEAT" : "WHITE";
AppendCell(row, line);
for (var i in fld_ship) {
var value = record[fld_ship[i][0]];
if (3 <= fld_ship[i].length) {
switch (fld_ship[i][2]) {
case 1:
var sum = 0;
var slot = new Array();
for (var n in value) {
if (value[n] == 0) break;
sum += value[n];
slot.push(value[n]);
}
if (sum == 0) {
value = 0;
} else {
value = String(sum) + " (" + slot.join("/") + ")";
}
break;
case 2:
value = value[1];
break;
}
}
AppendCell(row, value);
}
}
}
function CreateTable(title)
{
var table = document.createElement("table");
table.border = 1;
table.cellSpacing = 0;
table.cellPadding = 3;
table.style.setAttribute("border-collapse", "collapse");
var thead = table.createTHead();
CreateTitle(thead, title);
var tfoot = table.createTFoot();
CreateTitle(tfoot, title);
var d1 = document.getElementById("d1");
for (var i = d1.childNodes.length - 1; 0 <= i; i--) {
d1.removeChild(d1.childNodes[i]);
}
d1.appendChild(table);
return table;
}
function CreateTitle(elem, obj)
{
var row = elem.insertRow();
row.bgColor = "KHAKI";
AppendCell(row, "#");
for (var key in obj) {
AppendCell(row, (obj instanceof Array) ? obj[key][1] : key);
}
}
function AppendCell(row, str)
{
var cell = row.insertCell();
var text = document.createTextNode(str);
cell.appendChild(text);
}
// -->
</script>
</head>
<body>
<button onclick="CreateGeneralTable('api_mst_stype')">艦種マスタ</button>
<button onclick="CreateSlotTable()">装備マスタ</button>
<hr>
<form name="f1">
<input type="radio" name="r1" value="7,11,18"> 正規空母/軽空母/装甲空母<br>
<input type="radio" name="r1" value="8,9,10"> 戦艦/航空戦艦<br>
<input type="radio" name="r1" value="5,6"> 重巡洋艦/航空巡洋艦<br>
<input type="radio" name="r1" value="3,4"> 軽巡洋艦/重雷装巡洋艦<br>
<input type="radio" name="r1" value="2"> 駆逐艦<br>
<input type="radio" name="r1" value="13,14"> 潜水艦/潜水空母<br>
<input type="radio" name="r1" value="17,19"> 揚陸艦/工作艦<br>
<br>
改造
<input type="checkbox" name="c1">可
<input type="checkbox" name="c2" checked>不可<br>
<br>
<input type="button" value="検索" onclick="CreateShipTable()">
</form>
<div id="d1"></div>
</body>
</html>