|開発環境|メモ帳| |実行環境|Internet Explorer 11| #table_zebra(project, #fff, #eee) kcship.html #highlight(javascript){{ <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> }}