aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/minesweeper/index.html33
-rw-r--r--utils/minesweeper/script.js31
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", () => {})