diff options
Diffstat (limited to 'utils/minesweeper')
| -rw-r--r-- | utils/minesweeper/index.html | 33 | ||||
| -rw-r--r-- | utils/minesweeper/script.js | 31 |
2 files changed, 64 insertions, 0 deletions
diff --git a/utils/minesweeper/index.html b/utils/minesweeper/index.html new file mode 100644 index 0000000..16ab664 --- /dev/null +++ b/utils/minesweeper/index.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> + +<html> + <head> + <title>cacharle - minesweeper</title> + <link rel="stylesheet" type="text/css" href="../../style.css"/> + <meta charset="utf-8"/> + <link rel="icon" type="image/png" href="../../favicon.png" /> + </head> + + <body><div id="page-wrapper"> + <h1>minesweeper</h1> + + <div> + before start + size: + <input type="range"/> + mine rate: + <input type="range"/> + <button>start</button> + </div> + + <div> + during + <div>timer</div> + <button>start</button> + </div> + + <canvas id="minesweeper-canvas"></canvas> + + </div></body> + <script src="script.js" type="text/javascript"></script> +</html> diff --git a/utils/minesweeper/script.js b/utils/minesweeper/script.js new file mode 100644 index 0000000..5679d75 --- /dev/null +++ b/utils/minesweeper/script.js @@ -0,0 +1,31 @@ +const height = 10 +const width = 10 +const mine_rate = 0.30 + +let mines = [] +let visited = [] + +for (i = 0; i < height; i++) { + mines.push(new Array(width)) + visited.push(new Array(width)) + for (j = 0; j < width; j++) { + mines[i][j] = Math.random() < mine_rate ? -1 : 0; + visited[i][j] = false; + } +} + +canvas = document.getElementById("minesweeper-canvas") +context = canvas.getContext("2d") +console.log(context) + +const cell_width = canvas.width / width +const cell_height = canvas.height / height +const cell_size = Math.min(cell_width, cell_height) + +for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + context.strokeRect(cell_size * j, cell_size * i, cell_size, cell_size); + } +} + +// canvas.addEventListener("click", () => {}) |
