Html3.3數(shù)獨小游戲代碼
在html3.3中,我們可以使用pre標(biāo)簽來展示代碼段落。下面是一個簡單的3×3數(shù)獨小游戲代碼。
<!-- HTML代碼部分 --> <table> <tr> <td><input></td> <td><input></td> <td><input></td> </tr> <tr> <td><input></td> <td><input></td> <td><input></td> </tr> <tr> <td><input></td> <td><input></td> <td><input></td> </tr> </table> <!-- JavaScript代碼部分 --> <script> var table = document.querySelector('table'); var inputs = document.querySelectorAll('input'); var values = [0, 1, 2, 3, 4, 5, 6, 7, 8]; // 隨機生成數(shù)獨盤面 for (var i = 0; i< inputs.length; i++) { var input = inputs[i]; var value = values.splice(Math.floor(Math.random() * values.length), 1)[0]; input.value = value + 1; // 檢查數(shù)獨盤面是否正確 function isSudokuCorrect() { // 檢查每行是否出現(xiàn)重復(fù)數(shù)字 for (var i = 0; i< 9; i++) { var row = []; for (var j = 0; j< 9; j++) { var input = table.rows[i].cells[j].querySelector('input'); row.push(input.value); } if (hasDuplicate(row)) { return false; } } // 檢查每列是否出現(xiàn)重復(fù)數(shù)字 for (var j = 0; j< 9; j++) { var col = []; for (var i = 0; i< 9; i++) { var input = table.rows[i].cells[j].querySelector('input'); col.push(input.value); } if (hasDuplicate(col)) { return false; } } // 檢查每個3x3方塊是否出現(xiàn)重復(fù)數(shù)字 for (var i = 0; i< 9; i += 3) { for (var j = 0; j< 9; j += 3) { var block = []; for (var x = i; x< i + 3; x++) { for (var y = j; y< j + 3; y++) { var input = table.rows[x].cells[y].querySelector('input'); block.push(input.value); } } if (hasDuplicate(block)) { return false; } } } return true; } // 判斷數(shù)組中是否存在重復(fù)元素 function hasDuplicate(array) { var seen = {}; for (var i = 0; i< array.length; i++) { var value = array[i]; if (value in seen) { return true; } else { seen[value] = true; } } return false; } </script>
以上是一個簡單的3×3數(shù)獨小游戲代碼, 您可以嘗試運行并玩耍這個小游戲。