2048-board-renderer
Version:
2048 board renderer
44 lines (43 loc) • 1.85 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var getBasicTileDataMap_1 = __importDefault(require("./getBasicTileDataMap"));
var getTileData = function (board, prevBoard) {
var prevTileDataMap = prevBoard
? (0, getBasicTileDataMap_1.default)(prevBoard)
: new Map();
var tileData = [];
for (var row = 0; row < board.length; row++) {
for (var col = 0; col < board[row].length; col++) {
var tile = board[row][col];
if (tile) {
var prevTileData = prevTileDataMap.get(tile.id);
tileData.push({
ghost: false,
id: tile.id,
value: tile.value,
position: { row: row, col: col },
previousValue: prevTileData === null || prevTileData === void 0 ? void 0 : prevTileData.value,
previousPosition: prevTileData === null || prevTileData === void 0 ? void 0 : prevTileData.position,
});
if (tile.mergedId) {
var ghostPrevData = prevTileDataMap.get(tile.mergedId);
if (ghostPrevData) {
tileData.push({
ghost: true,
id: tile.mergedId,
value: ghostPrevData.value,
previousValue: ghostPrevData.value,
position: { row: row, col: col },
previousPosition: ghostPrevData.position,
});
}
}
}
}
}
return tileData;
};
exports.default = getTileData;