83 lines
2.5 KiB
HTML
83 lines
2.5 KiB
HTML
|
<html>
|
||
|
|
||
|
<head>
|
||
|
<meta charset="UTF-8">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
<script type="text/javascript" src="sudoku.js"></script>
|
||
|
<style>
|
||
|
body {
|
||
|
|
||
|
background-color: #222;
|
||
|
}
|
||
|
|
||
|
.sudoku {
|
||
|
float: left;
|
||
|
color: hwb(0 20% 80%);
|
||
|
background-color: blue;
|
||
|
}
|
||
|
</style>
|
||
|
<script type="text/javascript">
|
||
|
const renderPuzzleFromString = (str, readOnly, size, darkMode) => {
|
||
|
darkMode = true
|
||
|
const sudoku = document.createElement('my-sudoku')
|
||
|
sudoku.setAttribute('puzzle', str ? str : 'generate')
|
||
|
if(readOnly)
|
||
|
sudoku.setAttribute('read-only', 'true')
|
||
|
sudoku.classList.add('sudoku')
|
||
|
if(darkMode){
|
||
|
sudoku.classList.add('sudoku-dark')
|
||
|
}
|
||
|
document.body.appendChild(sudoku);
|
||
|
const id = generateIdByPosition(sudoku);
|
||
|
sudoku.id = id
|
||
|
return sudoku
|
||
|
}
|
||
|
|
||
|
const renderPuzzles = (readOnly,size,darkMode) => {
|
||
|
renderPuzzleFromString(null,readOnly, size, darkMode)
|
||
|
|
||
|
}
|
||
|
|
||
|
document.addEventListener('DOMContentLoaded', (e) => {
|
||
|
let size = randInt(4, 20);
|
||
|
let darkMode = randInt(0,1);
|
||
|
renderPuzzleFromString(`0 0 8 0 9 0 0 0 0
|
||
|
0 9 0 0 0 7 0 0 7
|
||
|
0 0 0 0 2 0 0 0 0
|
||
|
0 0 3 0 0 0 0 0 0
|
||
|
5 0 0 0 8 0 0 0 0
|
||
|
0 0 6 0 0 0 0 0 0
|
||
|
0 0 0 0 0 3 9 0 0
|
||
|
9 1 0 0 0 0 0 0 0
|
||
|
0 0 0 0 1 0 0 0 0 `, true, size, darkMode)
|
||
|
renderPuzzleFromString(`2 3 8 1 9 7 4 5 6
|
||
|
4 9 1 3 5 0 2 8 7
|
||
|
6 5 0 0 0 0 1 3 9
|
||
|
1 2 3 0 4 9 0 6 8
|
||
|
5 7 9 6 8 1 3 2 4
|
||
|
8 4 0 7 3 2 0 9 1
|
||
|
7 8 4 2 6 3 9 1 5
|
||
|
9 1 2 8 7 5 0 4 3
|
||
|
3 6 5 9 1 4 8 7 0
|
||
|
`, true, size, darkMode)
|
||
|
renderPuzzleFromString(` 0 0 8 0 9 0 0 0 0
|
||
|
0 9 0 0 0 0 0 0 7
|
||
|
0 0 0 0 2 0 0 0 0
|
||
|
0 0 3 0 0 0 0 0 0
|
||
|
5 0 0 0 8 0 0 0 0
|
||
|
0 0 6 0 0 0 0 0 0
|
||
|
0 0 0 0 0 3 9 0 0
|
||
|
9 1 0 0 0 0 0 0 0
|
||
|
0 0 0 0 1 0 0 0 0`, size, darkMode)
|
||
|
for (let i = 0; i < 30; i++) {
|
||
|
renderPuzzles(true, size, darkMode)
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
|
||
|
</body>
|
||
|
|
||
|
</html>
|