summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bithoundrc17
-rw-r--r--package.json1
-rw-r--r--src/util/tile-calculations.js24
3 files changed, 33 insertions, 9 deletions
diff --git a/.bithoundrc b/.bithoundrc
new file mode 100644
index 00000000..bf7f1f15
--- /dev/null
+++ b/.bithoundrc
@@ -0,0 +1,17 @@
+{
+ "ignore": [
+ ],
+ "test": [
+ ],
+ "dependencies": {
+ "unused-ignores": [
+ "react-scripts",
+ "prettier",
+ "node-sass-chokidar",
+ "lint-staged",
+ "konva",
+ "husky",
+ "npm-run-all"
+ ]
+ }
+}
diff --git a/package.json b/package.json
index 50326e4a..7e802606 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,6 @@
"approximate-number": "^2.0.0",
"classnames": "^2.2.5",
"husky": "^0.14.3",
- "isomorphic-fetch": "^2.2.1",
"konva": "^1.7.2",
"lint-staged": "^4.3.0",
"node-sass-chokidar": "^0.0.3",
diff --git a/src/util/tile-calculations.js b/src/util/tile-calculations.js
index 9a1dc1c0..95886eeb 100644
--- a/src/util/tile-calculations.js
+++ b/src/util/tile-calculations.js
@@ -1,12 +1,16 @@
export function deriveWallLocations(tiles) {
+ const { verticalWalls, horizontalWalls } = getWallSegments(tiles);
+ return mergeWallSegments(verticalWalls, horizontalWalls);
+}
+
+function getWallSegments(tiles) {
const verticalWalls = {};
const horizontalWalls = {};
- // Determine wall segments
-
tiles.forEach(tile => {
const x = tile.positionX,
y = tile.positionY;
+
for (let dX = -1; dX <= 1; dX++) {
for (let dY = -1; dY <= 1; dY++) {
if (Math.abs(dX) === Math.abs(dY)) {
@@ -14,14 +18,15 @@ export function deriveWallLocations(tiles) {
}
let doInsert = true;
- tiles.forEach(otherTile => {
+ for (let tileIndex in tiles) {
if (
- otherTile.positionX === x + dX &&
- otherTile.positionY === y + dY
+ tiles[tileIndex].positionX === x + dX &&
+ tiles[tileIndex].positionY === y + dY
) {
doInsert = false;
+ break;
}
- });
+ }
if (!doInsert) {
continue;
}
@@ -59,10 +64,13 @@ export function deriveWallLocations(tiles) {
}
});
- // Merge walls into longer segments
+ return { verticalWalls, horizontalWalls };
+}
+function mergeWallSegments(vertical, horizontal) {
const result = [];
- const walls = [verticalWalls, horizontalWalls];
+ const walls = [vertical, horizontal];
+
for (let i = 0; i < 2; i++) {
const wallList = walls[i];
for (let a in wallList) {