\r
<!-- 設定 -->\r
<h2>設定</h2>\r
- <p>まだ使えないよ</p>\r
<form>\r
<table>\r
<tr>\r
<td>縦方向のマス目の数</td>\r
- <td><input type="number"></td>\r
+ <td><input type="number" id="inputtablex"></td>\r
</tr>\r
<tr>\r
<td>横方向のマス目の数</td>\r
- <td><input type="number"></td>\r
+ <td><input type="number" id="inputtabley"></td>\r
</tr>\r
<tr>\r
<td>プレーヤーの人数</td>\r
- <td><input type="number"></td>\r
+ <td><input type="number" id="inputplayernumber"></td>\r
</tr>\r
</table>\r
+ <input type="button" value="適用" id="apply">\r
</form>\r
\r
</main>\r
// 横のマス目の数\r
-const TableXNumber = 3;\r
+let TableXNumber = 3;\r
\r
// 縦のマス目の数\r
-const TableYNumber = 3;\r
+let TableYNumber = 3;\r
\r
// マス目の初期値\r
const InitialStr = " ";\r
const PlayerMarks = ["◯", "✗" , "△"];\r
\r
// プレイヤーの人数(現在 2のみ指定可能)\r
-const PlayerNumer = 2;\r
+let PlayerNumer = 2;\r
\r
// 現在のプレイヤー\r
let CurrentPlayer = 0;\r
// リセットボタン\r
const ResetButton = document.getElementById("reset");\r
\r
+// 適用ボタン\r
+const ApplyButton = document.getElementById("apply");\r
+\r
+// 設定フォーム: 縦のマス目\r
+const InputTableX = document.getElementById("inputtablex")\r
+\r
+// 設定フォーム: 横のマス目\r
+const InputTableY = document.getElementById("inputtabley")\r
+\r
+// 設定フォーム: プレーヤーの人数\r
+const InputPlayerNumber = document.getElementById("inputplayernumber")\r
+\r
// チェック済みのボックスの数\r
let CheckedBox = 0;\r
\r
// 初期化をする関数\r
const InitilizeTable = () => {\r
+ MainTable.innerHTML = null;\r
for (y = 0 ; y < TableYNumber; y++){ // 行を作成するループ\r
\r
// 行を作成する\r
}
// X座標の確認
- if (CountArrayValue(CheckedByCurrentPlayerX, TableXNumber)){
+ if (CountArrayValue(CheckedByCurrentPlayerX, TableYNumber)){
// チェックした値がX座標で一致した→すなわち縦方向がそろった
WinExit("縦方向");
}
// Y軸方向の確認
- if (CountArrayValue(CheckedByCurrentPlayerY, TableYNumber)){
+ if (CountArrayValue(CheckedByCurrentPlayerY, TableXNumber)){
// チェックした値がY座標で一致した→すなわち横方向がそろった
WinExit("横方向");
}
ResetButton.addEventListener("click", ()=>{
location.reload();
})
+
+// 初回起動時に設定のボックス内に初期設定を入れておく
+window.addEventListener("load", ()=>{
+ InputTableX.value = TableXNumber;
+ InputTableY.value = TableYNumber;
+ InputPlayerNumber.value = PlayerNumer;
+})
+
+// 適用ボタンが押された時の処理
+ApplyButton.addEventListener("click", ()=>{
+
+ // それぞれの状態を初期化
+ PlayerNumer = InputPlayerNumber.value;
+ GameEnded = false;
+ CheckedBox = 0;
+ CurrentPlayer = 0;
+ Msg.innerText = null;
+
+ // 入力された値が正常か確認
+ if(InputTableX.value >= 3 && InputTableY.value >= 3){
+ TableXNumber = InputTableX.value;
+ TableYNumber = InputTableY.value;
+ }else{
+ Msg.innerText = "3以上の整数を指定してください"
+ return;
+ }
+
+ // ゲーム全体の初期化と表示されている設定を更新
+ InitilizeTable();
+ UpdateCurrentConfig();
+})