fuzzyworld

dao-game / commit

Slight refactoring.

c3e44de21c70dc929ef287a3f03ea15c640b6274 · Pavel Safronov · 2022-03-16 23:02:27 -0700 · parents 4918da41205c

Slight refactoring.
 src/local-game.ts | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/local-game.ts b/src/local-game.ts
index 531ffb3..1b2dcda 100644
--- a/src/local-game.ts
+++ b/src/local-game.ts
@@ -9,7 +9,6 @@ const classNames = {
     possibleMove: "possible-move",
 };
 
-
 let selectedPiece: Element | null = null;
 const game: IGame = new Game('Red', 'Blue');
 const listenerManager: ListenerManager = new ListenerManager();
@@ -18,28 +17,14 @@ const listenerManager: ListenerManager = new ListenerManager();
 const dom = {
     defaultP1Piece: document.getElementById("default-p1-piece"),
     defaultP2Piece: document.getElementById("default-p2-piece"),
+    resetButton: document.getElementById("reset-button") as HTMLInputElement,
+    undoButton: document.getElementById("undo-button") as HTMLInputElement,
     cells: () => Array.from(document.querySelectorAll("td")),
     allPieces: () => Array.from(document.querySelectorAll(".piece")),
-    playerPieces: (isP1Turn: boolean) => isP1Turn
-        ? Array.from(document.querySelectorAll(".p1-piece:not(#default-p1-piece)"))
-        : Array.from(document.querySelectorAll(".p2-piece:not(#default-p2-piece)")),
     p1TurnText: () => Array.from(document.querySelectorAll(".p1-turn-text")),
     p2TurnText: () => Array.from(document.querySelectorAll(".p2-turn-text")),
-    resetButton: document.getElementById("reset-button") as HTMLInputElement,
-    undoButton: document.getElementById("undo-button") as HTMLInputElement,
 };
 
-const getPieceAtIndex = (index: number): Element => {
-    const cell = dom.cells()[index];
-    const piece = cell.children[0];
-    return piece;
-}
-const getPieceAtCoord = (coord: Coord): Element => {
-    const index = game.coordToBoardIndex(coord);
-    const piece = getPieceAtIndex(index);
-    return piece;
-}
-
 const resetBoard = () => {
     // reset Cells
     dom.cells().forEach(cell => cell.classList.remove(classNames.possibleMove));
@@ -136,8 +121,14 @@ const nextMove = () => {
         };
 
         // mark active pieces
+        const allCells = dom.cells();
         const playerPositions = game.getPlayerPositions(game.currentPlayerId === game.player1Id);
-        const piecesAndPositions = playerPositions.map(coord => ({ coord, piece: getPieceAtCoord(coord) }));
+        const piecesAndPositions = playerPositions.map(coord => {
+            const index = game.coordToBoardIndex(coord);
+            const cell = allCells[index];
+            const piece = cell.children[0];
+            return { coord, piece };
+        });
         piecesAndPositions
             .forEach(({ coord, piece }) => {
                 piece.classList.add(classNames.activePlayerPiece);