diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8cac25a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +built/main.js \ No newline at end of file diff --git a/main.ts b/main.ts index 3e500d3..acb24ec 100644 --- a/main.ts +++ b/main.ts @@ -103,15 +103,18 @@ function changeGridsize(amount: number) { } function populateGrid(grid: boolean[][], gridsize): boolean[][] { + let solvegrid: boolean[][] = initGrid(gridsize) for (var i: number = 0; i < gridsize; i++) { for (var k: number = 0; k < gridsize; k++) { if (Math.random() > 0.5) { - grid[i][k] = true; + toggleSpace(i,k) + solvegrid[k][i] = true; } else { - grid[i][k] = false; + solvegrid[k][i] = false; } } } + console.table(solvegrid) return grid; } function togglebool(bool: boolean): boolean { @@ -139,21 +142,7 @@ function handelClicks( pos.y > (k * c.height) / gridsize && pos.y < (k * c.height) / gridsize + c.width / gridsize ) { - grid[i][k] = togglebool(grid[i][k]); - if (edit == false) { - if (i != 0) { - grid[i - 1][k] = togglebool(grid[i - 1][k]); - } - if (k != 0) { - grid[i][k - 1] = togglebool(grid[i][k - 1]); - } - if (i != gridsize - 1) { - grid[i + 1][k] = togglebool(grid[i + 1][k]); - } - if (k != gridsize - 1) { - grid[i][k + 1] = togglebool(grid[i][k + 1]); - } - } + toggleSpace(i,k) } } } @@ -184,6 +173,24 @@ function handelClicks( } } +function toggleSpace(i,k: number){ + grid[i][k] = togglebool(grid[i][k]); + if (edit == false) { + if (i != 0) { + grid[i - 1][k] = togglebool(grid[i - 1][k]); + } + if (k != 0) { + grid[i][k - 1] = togglebool(grid[i][k - 1]); + } + if (i != gridsize - 1) { + grid[i + 1][k] = togglebool(grid[i + 1][k]); + } + if (k != gridsize - 1) { + grid[i][k + 1] = togglebool(grid[i][k + 1]); + } + } +} + function Winscreen(c: HTMLCanvasElement, ctx: CanvasRenderingContext2D) { ctx.fillStyle = "#fffff" ctx.font diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..514ef90 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,33 @@ +{ + "name": "KnilchWeb", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "typescript": "^4.4.4" + } + }, + "node_modules/typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + } + }, + "dependencies": { + "typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..936e3cd --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "typescript": "^4.4.4" + } +}