@leofavre/memory-game-component
Version:
A memory game web component.
67 lines (50 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isGameOver = exports.isVisiblePairOfCardsAMatch = exports.isPairOfCardsVisible = exports.isCardInTheGame = exports.isCardMatched = exports.isCardRevealed = exports.getCardAtPosition = exports.getNumberOfCards = void 0;
var getNumberOfCards = function getNumberOfCards(_ref) {
var cards = _ref.cards;
return cards.length * 2;
};
exports.getNumberOfCards = getNumberOfCards;
var getCardAtPosition = function getCardAtPosition(position, _ref2) {
var cards = _ref2.cards;
return cards.find(function (card) {
return card.positions.includes(position);
});
};
exports.getCardAtPosition = getCardAtPosition;
var isCardRevealed = function isCardRevealed(position, _ref3) {
var revealed = _ref3.revealed;
return revealed.includes(position);
};
exports.isCardRevealed = isCardRevealed;
var isCardMatched = function isCardMatched(position, _ref4) {
var matched = _ref4.matched;
return matched.includes(position);
};
exports.isCardMatched = isCardMatched;
var isCardInTheGame = function isCardInTheGame(position, _ref5) {
var revealed = _ref5.revealed,
matched = _ref5.matched;
return revealed.includes(position) || matched.includes(position);
};
exports.isCardInTheGame = isCardInTheGame;
var isPairOfCardsVisible = function isPairOfCardsVisible(_ref6) {
var revealed = _ref6.revealed;
return revealed.length === 2;
};
exports.isPairOfCardsVisible = isPairOfCardsVisible;
var isVisiblePairOfCardsAMatch = function isVisiblePairOfCardsAMatch(_ref7) {
var revealed = _ref7.revealed,
matched = _ref7.matched;
return revealed.every(function (position) {
return matched.includes(position);
});
};
exports.isVisiblePairOfCardsAMatch = isVisiblePairOfCardsAMatch;
var isGameOver = function isGameOver(state) {
return getNumberOfCards(state) === state.matched.length;
};
exports.isGameOver = isGameOver;