From 7d4b6caa332c0142163d528e1a61455e8b497477 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 22:16:34 +0000 Subject: [PATCH 01/15] Initial plan From 31069a7cae7be39e5ac55b94f7d91a32653aa002 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 22:32:55 +0000 Subject: [PATCH 02/15] feat: add High Speed Memory game plugin Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/game.js | 205 ++++++ .../high-speed-memory/images/thumbnail.svg | 14 + app/games/high-speed-memory/index.js | 460 ++++++++++++++ app/games/high-speed-memory/interface.html | 87 +++ app/games/high-speed-memory/manifest.json | 9 + app/games/high-speed-memory/style.css | 253 ++++++++ .../high-speed-memory/tests/game.test.js | 297 +++++++++ .../high-speed-memory/tests/index.test.js | 586 ++++++++++++++++++ 8 files changed, 1911 insertions(+) create mode 100644 app/games/high-speed-memory/game.js create mode 100644 app/games/high-speed-memory/images/thumbnail.svg create mode 100644 app/games/high-speed-memory/index.js create mode 100644 app/games/high-speed-memory/interface.html create mode 100644 app/games/high-speed-memory/manifest.json create mode 100644 app/games/high-speed-memory/style.css create mode 100644 app/games/high-speed-memory/tests/game.test.js create mode 100644 app/games/high-speed-memory/tests/index.test.js diff --git a/app/games/high-speed-memory/game.js b/app/games/high-speed-memory/game.js new file mode 100644 index 0000000..5bdb3ed --- /dev/null +++ b/app/games/high-speed-memory/game.js @@ -0,0 +1,205 @@ +/** + * game.js — Pure game logic for High Speed Memory. + * + * Contains all state and logic for the High Speed Memory game, with no DOM access. + * All functions are easily unit-testable. + * + * @file High Speed Memory game logic module. + */ + +/** Symbols used for card faces. Must have at least MAX_PAIRS entries. */ +export const SYMBOLS = [ + '★', '♠', '♥', '♦', '♣', '☀', '☽', '✿', '♪', '✈', '⚽', '🎯', '🔔', '🌊', '🍀', '💎', +]; + +/** + * Grid configurations by level: [rows, cols]. + * Each entry must produce an even number of cards (rows * cols must be even). + */ +export const GRID_CONFIGS = [ + [2, 2], + [2, 3], + [2, 4], + [3, 4], + [4, 4], + [4, 5], + [4, 6], +]; + +/** Initial display duration in milliseconds for level 0. */ +export const BASE_DISPLAY_MS = 3000; + +/** Amount to reduce display duration each level (ms). */ +export const DISPLAY_DECREMENT_MS = 200; + +/** Minimum display duration regardless of level (ms). */ +export const MIN_DISPLAY_MS = 800; + +/** @type {number} */ +let score = 0; + +/** @type {number} */ +let level = 0; + +/** @type {number} */ +let roundsCompleted = 0; + +/** @type {boolean} */ +let running = false; + +/** @type {number|null} */ +let startTime = null; + +/** + * Initialize (or reset) all game state. + */ +export function initGame() { + score = 0; + level = 0; + roundsCompleted = 0; + running = false; + startTime = null; +} + +/** + * Start the game timer. + * @throws {Error} If the game is already running. + */ +export function startGame() { + if (running) { + throw new Error('Game is already running.'); + } + running = true; + startTime = Date.now(); +} + +/** + * Stop the game and return final results. + * @returns {{ score: number, level: number, roundsCompleted: number, duration: number }} + * @throws {Error} If the game is not running. + */ +export function stopGame() { + if (!running) { + throw new Error('Game is not running.'); + } + running = false; + const duration = startTime !== null ? Date.now() - startTime : 0; + return { + score, + level, + roundsCompleted, + duration, + }; +} + +/** + * Get the grid configuration (rows and columns) for a given level. + * Clamps to the last config if the level exceeds the defined configs. + * + * @param {number} lvl - The game level (0-based). + * @returns {{ rows: number, cols: number }} + */ +export function getGridSize(lvl) { + const idx = Math.min(lvl, GRID_CONFIGS.length - 1); + const [rows, cols] = GRID_CONFIGS[idx]; + return { rows, cols }; +} + +/** + * Get the card-reveal display duration in milliseconds for a given level. + * + * @param {number} lvl - The game level (0-based). + * @returns {number} Display duration in milliseconds. + */ +export function getDisplayDurationMs(lvl) { + return Math.max(BASE_DISPLAY_MS - lvl * DISPLAY_DECREMENT_MS, MIN_DISPLAY_MS); +} + +/** + * Generate a shuffled grid of card objects for a given level. + * Each card has a unique id, a symbol, and starts as unmatched. + * Cards are generated as pairs so every symbol appears exactly twice. + * + * @param {number} lvl - The game level (0-based). + * @returns {Array<{ id: number, symbol: string, matched: boolean }>} + */ +export function generateGrid(lvl) { + const { rows, cols } = getGridSize(lvl); + const totalCards = rows * cols; + const pairCount = totalCards / 2; + + const selectedSymbols = SYMBOLS.slice(0, pairCount); + const cards = [...selectedSymbols, ...selectedSymbols].map((symbol, i) => ({ + id: i, + symbol, + matched: false, + })); + + // Fisher-Yates shuffle + for (let i = cards.length - 1; i > 0; i -= 1) { + const j = Math.floor(Math.random() * (i + 1)); + [cards[i], cards[j]] = [cards[j], cards[i]]; + } + + // Re-assign sequential ids after shuffle so id matches array position + return cards.map((card, i) => ({ ...card, id: i })); +} + +/** + * Check whether two card symbols match. + * + * @param {string} symbolA - Symbol on the first card. + * @param {string} symbolB - Symbol on the second card. + * @returns {boolean} True if the symbols are equal. + */ +export function checkMatch(symbolA, symbolB) { + return symbolA === symbolB; +} + +/** + * Record a correct pair match. + * Increments the score by 1. + */ +export function addCorrectPair() { + score += 1; +} + +/** + * Mark the current round as complete and advance to the next level. + */ +export function completeRound() { + roundsCompleted += 1; + level += 1; +} + +/** + * Get the current score. + * @returns {number} + */ +export function getScore() { + return score; +} + +/** + * Get the current level (0-based). + * @returns {number} + */ +export function getLevel() { + return level; +} + +/** + * Get the number of rounds completed. + * @returns {number} + */ +export function getRoundsCompleted() { + return roundsCompleted; +} + +/** + * Check whether the game is currently running. + * @returns {boolean} + */ +export function isRunning() { + return running; +} diff --git a/app/games/high-speed-memory/images/thumbnail.svg b/app/games/high-speed-memory/images/thumbnail.svg new file mode 100644 index 0000000..7f8cf40 --- /dev/null +++ b/app/games/high-speed-memory/images/thumbnail.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + ? + ? + diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js new file mode 100644 index 0000000..643ac7a --- /dev/null +++ b/app/games/high-speed-memory/index.js @@ -0,0 +1,460 @@ +/** + * index.js — High Speed Memory game plugin entry point for BrainSpeedExercises. + * + * Handles all DOM, rendering, and event logic for the High Speed Memory game UI. + * Exports the plugin contract for dynamic loading by the app shell. + * + * @file High Speed Memory game plugin (UI/controller layer). + */ + +import * as game from './game.js'; + +/** Delay in ms before flipping back a wrong-guess pair. */ +const WRONG_FLIP_DELAY_MS = 900; + +// ── DOM references (populated by init) ──────────────────────────────────────── + +/** @type {HTMLElement|null} */ +let _container = null; + +/** @type {HTMLElement|null} */ +let _instructionsEl = null; + +/** @type {HTMLElement|null} */ +let _gameAreaEl = null; + +/** @type {HTMLElement|null} */ +let _endPanelEl = null; + +/** @type {HTMLElement|null} */ +let _startBtn = null; + +/** @type {HTMLElement|null} */ +let _stopBtn = null; + +/** @type {HTMLElement|null} */ +let _playAgainBtn = null; + +/** @type {HTMLElement|null} */ +let _gridEl = null; + +/** @type {HTMLElement|null} */ +let _scoreEl = null; + +/** @type {HTMLElement|null} */ +let _levelEl = null; + +/** @type {HTMLElement|null} */ +let _pairsFoundEl = null; + +/** @type {HTMLElement|null} */ +let _pairsTotalEl = null; + +/** @type {HTMLElement|null} */ +let _countdownEl = null; + +/** @type {HTMLElement|null} */ +let _feedbackEl = null; + +/** @type {HTMLElement|null} */ +let _finalScoreEl = null; + +/** @type {HTMLElement|null} */ +let _finalLevelEl = null; + +// ── Round state (reset each round) ──────────────────────────────────────────── + +/** + * Current round's card data (from game.generateGrid). + * @type {Array<{ id: number, symbol: string, matched: boolean }>} + */ +let _roundGrid = []; + +/** + * IDs of the (up to two) cards currently flipped face-up waiting for comparison. + * @type {number[]} + */ +let _flipped = []; + +/** + * When true, card clicks are ignored (during reveal phase or wrong-guess flip-back). + * @type {boolean} + */ +let _flipLock = false; + +/** + * Number of pairs matched in the current round. + * @type {number} + */ +let _pairsFound = 0; + +/** + * Pending setTimeout handle for flipping wrong guesses back. + * @type {ReturnType|null} + */ +let _flipBackTimer = null; + +/** + * Pending setTimeout handle for hiding all cards after reveal phase. + * @type {ReturnType|null} + */ +let _hideTimer = null; + +// ── Helpers ─────────────────────────────────────────────────────────────────── + +/** + * Announce a message to the screen-reader feedback region. + * @param {string} msg - Text to announce. + */ +export function announce(msg) { + if (_feedbackEl) { + _feedbackEl.textContent = msg; + } +} + +/** + * Update the score and level displays. + */ +export function updateStats() { + if (_scoreEl) _scoreEl.textContent = String(game.getScore()); + if (_levelEl) _levelEl.textContent = String(game.getLevel() + 1); +} + +/** + * Update the pairs counter display. + */ +export function updatePairsDisplay() { + if (_pairsFoundEl) _pairsFoundEl.textContent = String(_pairsFound); +} + +/** + * Build and inject the card grid DOM for the current round. + * Clears any existing grid content first. + */ +export function renderGrid() { + if (!_gridEl) return; + _gridEl.innerHTML = ''; + + const { cols } = game.getGridSize(game.getLevel()); + _gridEl.style.gridTemplateColumns = `repeat(${cols}, 1fr)`; + + _roundGrid.forEach((card) => { + const btn = document.createElement('button'); + btn.type = 'button'; + btn.className = 'hsm-card hsm-card--revealed'; + btn.setAttribute('aria-label', `Card ${card.id + 1}: ${card.symbol}`); + btn.setAttribute('data-id', String(card.id)); + btn.textContent = card.symbol; + btn.addEventListener('click', () => handleCardClick(card.id)); + btn.addEventListener('keydown', (e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault(); + handleCardClick(card.id); + } + }); + _gridEl.appendChild(btn); + }); + + if (_pairsTotalEl) { + const totalPairs = _roundGrid.length / 2; + _pairsTotalEl.textContent = String(totalPairs); + } +} + +/** + * Flip a single card face-down in the DOM (without affecting _roundGrid state). + * @param {number} cardId - The id of the card to hide. + */ +export function hideCardEl(cardId) { + const btn = _gridEl && _gridEl.querySelector(`[data-id="${cardId}"]`); + if (!btn) return; + btn.classList.remove('hsm-card--revealed', 'hsm-card--wrong'); + btn.setAttribute('aria-label', `Card ${cardId + 1}: face down`); + btn.textContent = ''; +} + +/** + * Flip a card face-up in the DOM. + * @param {number} cardId - The id of the card to reveal. + * @param {string} symbol - The symbol to display. + */ +export function revealCardEl(cardId, symbol) { + const btn = _gridEl && _gridEl.querySelector(`[data-id="${cardId}"]`); + if (!btn) return; + btn.classList.add('hsm-card--revealed'); + btn.classList.remove('hsm-card--wrong'); + btn.setAttribute('aria-label', `Card ${cardId + 1}: ${symbol}`); + btn.textContent = symbol; +} + +/** + * Apply the "matched" visual state to a card element. + * @param {number} cardId - The id of the card to mark as matched. + */ +export function markCardMatched(cardId) { + const btn = _gridEl && _gridEl.querySelector(`[data-id="${cardId}"]`); + if (!btn) return; + btn.classList.add('hsm-card--matched'); + btn.classList.remove('hsm-card--revealed', 'hsm-card--wrong'); + btn.disabled = true; +} + +/** + * Apply the "wrong guess" visual state to a card element briefly. + * @param {number} cardId - The id of the card to mark as wrong. + */ +export function markCardWrong(cardId) { + const btn = _gridEl && _gridEl.querySelector(`[data-id="${cardId}"]`); + if (!btn) return; + btn.classList.add('hsm-card--wrong'); +} + +/** + * Hide all un-matched cards after the reveal phase ends. + * Called by the timer set in startRound. + */ +export function hideAllCards() { + _roundGrid.forEach((card) => { + if (!card.matched) { + hideCardEl(card.id); + } + }); + if (_countdownEl) _countdownEl.hidden = true; + _flipLock = false; + announce('Cards hidden — find the matching pairs!'); +} + +/** + * Start a new round: generate a fresh grid, render it revealed, then hide after delay. + */ +export function startRound() { + _pairsFound = 0; + _flipped = []; + _flipLock = true; + + _roundGrid = game.generateGrid(game.getLevel()); + renderGrid(); + updateStats(); + updatePairsDisplay(); + + const displayMs = game.getDisplayDurationMs(game.getLevel()); + const seconds = Math.ceil(displayMs / 1000); + + if (_countdownEl) { + _countdownEl.textContent = `Memorize! Cards hide in ${seconds} second${seconds !== 1 ? 's' : ''}…`; + _countdownEl.hidden = false; + } + + announce(`Level ${game.getLevel() + 1}. Memorize the ${_roundGrid.length} cards. They will hide in ${seconds} seconds.`); + + _hideTimer = setTimeout(hideAllCards, displayMs); +} + +/** + * Handle a card being clicked (or activated via keyboard). + * Ignores clicks when the flip lock is active or the card is already matched/flipped. + * + * @param {number} cardId - The id of the clicked card. + */ +export function handleCardClick(cardId) { + if (_flipLock) return; + if (_flipped.includes(cardId)) return; + + const card = _roundGrid.find((c) => c.id === cardId); + if (!card || card.matched) return; + + // Flip the card face-up + revealCardEl(cardId, card.symbol); + _flipped.push(cardId); + + if (_flipped.length < 2) return; + + // Two cards flipped — check for a match + _flipLock = true; + const [idA, idB] = _flipped; + const cardA = _roundGrid.find((c) => c.id === idA); + const cardB = _roundGrid.find((c) => c.id === idB); + + if (game.checkMatch(cardA.symbol, cardB.symbol)) { + // Match found + cardA.matched = true; + cardB.matched = true; + markCardMatched(idA); + markCardMatched(idB); + game.addCorrectPair(); + _pairsFound += 1; + updateStats(); + updatePairsDisplay(); + announce(`Match! ${cardA.symbol}`); + _flipped = []; + _flipLock = false; + + const totalPairs = _roundGrid.length / 2; + if (_pairsFound >= totalPairs) { + onRoundComplete(); + } + } else { + // No match — shake and flip back + markCardWrong(idA); + markCardWrong(idB); + announce('No match. Try again.'); + + _flipBackTimer = setTimeout(() => { + hideCardEl(idA); + hideCardEl(idB); + _flipped = []; + _flipLock = false; + }, WRONG_FLIP_DELAY_MS); + } +} + +/** + * Called when all pairs in the current round have been found. + * Advances to the next level and starts a new round. + */ +function onRoundComplete() { + game.completeRound(); + announce(`Round complete! Starting level ${game.getLevel() + 1}.`); + // Brief pause so the player sees the complete board before the next round + setTimeout(startRound, 1200); +} + +/** + * Clear any pending timers (used during stop/reset). + */ +function clearTimers() { + if (_flipBackTimer !== null) { + clearTimeout(_flipBackTimer); + _flipBackTimer = null; + } + if (_hideTimer !== null) { + clearTimeout(_hideTimer); + _hideTimer = null; + } +} + +/** + * Show the end-game panel with final results. + * @param {{ score: number, level: number }} result + */ +function showEndPanel(result) { + if (_gameAreaEl) _gameAreaEl.hidden = true; + if (_endPanelEl) _endPanelEl.hidden = false; + if (_finalScoreEl) _finalScoreEl.textContent = String(result.score); + if (_finalLevelEl) _finalLevelEl.textContent = String(result.level + 1); +} + +// ── Plugin contract ──────────────────────────────────────────────────────────── + +/** Human-readable name returned as part of the plugin contract. */ +const name = 'High Speed Memory'; + +/** + * Initialise the plugin. + * Called once after interface.html has been injected into the game container. + * Queries DOM elements and attaches event listeners; does not start timers. + * + * @param {HTMLElement} gameContainer - The container element holding the game HTML. + */ +function init(gameContainer) { + _container = gameContainer; + game.initGame(); + + if (!_container) return; + + _instructionsEl = _container.querySelector('#hsm-instructions'); + _gameAreaEl = _container.querySelector('#hsm-game-area'); + _endPanelEl = _container.querySelector('#hsm-end-panel'); + _startBtn = _container.querySelector('#hsm-start-btn'); + _stopBtn = _container.querySelector('#hsm-stop-btn'); + _playAgainBtn = _container.querySelector('#hsm-play-again-btn'); + _gridEl = _container.querySelector('#hsm-grid'); + _scoreEl = _container.querySelector('#hsm-score'); + _levelEl = _container.querySelector('#hsm-level'); + _pairsFoundEl = _container.querySelector('#hsm-pairs-found'); + _pairsTotalEl = _container.querySelector('#hsm-pairs-total'); + _countdownEl = _container.querySelector('#hsm-countdown'); + _feedbackEl = _container.querySelector('#hsm-feedback'); + _finalScoreEl = _container.querySelector('#hsm-final-score'); + _finalLevelEl = _container.querySelector('#hsm-final-level'); + + if (_startBtn) { + _startBtn.addEventListener('click', () => start()); + } + if (_stopBtn) { + _stopBtn.addEventListener('click', () => stop()); + } + if (_playAgainBtn) { + _playAgainBtn.addEventListener('click', () => { + reset(); + start(); + }); + } +} + +/** + * Start the game. + * Hides the instructions panel, shows the game area, and begins the first round. + */ +function start() { + game.startGame(); + + if (_instructionsEl) _instructionsEl.hidden = true; + if (_endPanelEl) _endPanelEl.hidden = true; + if (_gameAreaEl) _gameAreaEl.hidden = false; + + startRound(); +} + +/** + * Stop the game and return the final result. + * Clears timers and shows the end-game panel. + * + * @returns {{ score: number, level: number, roundsCompleted: number, duration: number }} + */ +function stop() { + clearTimers(); + const result = game.stopGame(); + + if (typeof window !== 'undefined' && window.api) { + window.api.invoke('progress:save', { + gameId: 'high-speed-memory', + score: result.score, + level: result.level, + }).catch(() => {}); + } + + showEndPanel(result); + return result; +} + +/** + * Reset the game to its initial state without reloading interface.html. + */ +function reset() { + clearTimers(); + game.initGame(); + + _roundGrid = []; + _flipped = []; + _flipLock = false; + _pairsFound = 0; + + if (_gridEl) _gridEl.innerHTML = ''; + if (_instructionsEl) _instructionsEl.hidden = false; + if (_gameAreaEl) _gameAreaEl.hidden = true; + if (_endPanelEl) _endPanelEl.hidden = true; + if (_countdownEl) _countdownEl.hidden = true; + if (_feedbackEl) _feedbackEl.textContent = ''; + + updateStats(); + updatePairsDisplay(); +} + +export default { + name, + init, + start, + stop, + reset, +}; diff --git a/app/games/high-speed-memory/interface.html b/app/games/high-speed-memory/interface.html new file mode 100644 index 0000000..16f9b5a --- /dev/null +++ b/app/games/high-speed-memory/interface.html @@ -0,0 +1,87 @@ + + +
+ +

High Speed Memory

+ + +
+

How to Play

+

+ A grid of cards will flash open briefly — memorize the symbol on each card! + After they flip back, find all the matching pairs from memory. +

+
    +
  • Watch closely while the cards are revealed.
  • +
  • After they flip face-down, click two cards you think share the same symbol.
  • +
  • Matched pairs stay revealed. Wrong guesses flip back.
  • +
  • Find every pair to advance — grids grow and reveal time shrinks each level!
  • +
  • Use Tab to move between cards and Enter or Space + to select.
  • +
+ +
+ + + + + + + +
diff --git a/app/games/high-speed-memory/manifest.json b/app/games/high-speed-memory/manifest.json new file mode 100644 index 0000000..8ff5728 --- /dev/null +++ b/app/games/high-speed-memory/manifest.json @@ -0,0 +1,9 @@ +{ + "id": "high-speed-memory", + "name": "High Speed Memory", + "description": "Memorize the grid of cards, then find all the matching pairs from memory!", + "version": "1.0.0", + "entryPoint": "index.js", + "thumbnail": "images/thumbnail.svg", + "author": "BrainSpeed Exercises" +} diff --git a/app/games/high-speed-memory/style.css b/app/games/high-speed-memory/style.css new file mode 100644 index 0000000..2b04adf --- /dev/null +++ b/app/games/high-speed-memory/style.css @@ -0,0 +1,253 @@ +/* ── Section wrapper ─────────────────────────────────────────── */ +.high-speed-memory { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; + padding: 1.5rem; + background-color: #f8f9fa; + color: #212529; /* ~14.5:1 contrast on #f8f9fa */ +} + +.high-speed-memory h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 0; +} + +/* ── Instructions panel ──────────────────────────────────────── */ +.hsm-instructions { + max-width: 540px; + background-color: #ffffff; + border: 1px solid #dee2e6; + border-radius: 8px; + padding: 1.5rem 2rem; + text-align: left; +} + +.hsm-instructions h3 { + font-size: 1.25rem; + font-weight: 700; + margin: 0 0 0.75rem; +} + +.hsm-instructions p { + margin: 0 0 0.75rem; +} + +.hsm-instructions ul { + margin: 0 0 1.25rem 1.25rem; + padding: 0; +} + +.hsm-instructions li { + margin-bottom: 0.4rem; +} + +.hsm-instructions kbd { + display: inline-block; + padding: 0 0.35em; + font-family: monospace; + font-size: 0.875em; + border: 1px solid #adb5bd; + border-radius: 3px; + background-color: #f1f3f5; +} + +.hsm-instructions .hsm-btn { + display: block; + width: 100%; + padding: 0.65rem 1.5rem; + font-size: 1.1rem; +} + +/* ── Stats bar ───────────────────────────────────────────────── */ +.hsm-stats { + display: flex; + gap: 2rem; + font-size: 1rem; + font-weight: 500; + flex-wrap: wrap; + justify-content: center; +} + +.hsm-stat strong { + font-size: 1.25rem; +} + +/* ── Countdown banner ────────────────────────────────────────── */ +.hsm-countdown { + padding: 0.5rem 1.5rem; + background-color: #1a1a2e; + color: #ffffff; /* 18:1 contrast */ + border-radius: 6px; + font-size: 1.1rem; + font-weight: 600; + text-align: center; + width: 100%; + max-width: 540px; +} + +/* ── Card grid ───────────────────────────────────────────────── */ +.hsm-grid { + display: grid; + gap: 0.5rem; + justify-content: center; +} + +/* ── Individual card ─────────────────────────────────────────── */ +.hsm-card { + width: 72px; + height: 72px; + border: none; + border-radius: 8px; + font-size: 1.75rem; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: transform 0.15s ease, background-color 0.15s ease; + background-color: #1a1a2e; + color: #1a1a2e; /* hide symbol by default — face-down */ + position: relative; + user-select: none; +} + +/* Face-down: show question mark pattern */ +.hsm-card::after { + content: '?'; + position: absolute; + font-size: 1.5rem; + color: #e94560; /* 4.6:1 on #1a1a2e */ + pointer-events: none; +} + +/* Face-up (revealed or being guessed): show the symbol */ +.hsm-card--revealed { + background-color: #ffffff; + color: #212529; /* ~16:1 contrast on #ffffff */ +} + +.hsm-card--revealed::after { + display: none; +} + +/* Matched pair: green background */ +.hsm-card--matched { + background-color: #d4edda; + color: #155724; /* 7.3:1 contrast on #d4edda */ + cursor: default; +} + +.hsm-card--matched::after { + display: none; +} + +/* Wrong-guess flash: brief red tint (applied via JS, removed after animation) */ +.hsm-card--wrong { + background-color: #f8d7da; + color: #721c24; /* 7.3:1 contrast on #f8d7da */ + animation: hsm-shake 0.3s ease-out; +} + +.hsm-card--wrong::after { + display: none; +} + +@keyframes hsm-shake { + 0%, 100% { transform: translateX(0); } + 25% { transform: translateX(-4px); } + 75% { transform: translateX(4px); } +} + +.hsm-card:hover:not(.hsm-card--matched):not([disabled]) { + transform: scale(1.05); +} + +.hsm-card:focus-visible { + outline: 3px solid #005fcc; + outline-offset: 3px; +} + +/* ── Controls ────────────────────────────────────────────────── */ +.hsm-controls { + display: flex; + gap: 1rem; + flex-wrap: wrap; + justify-content: center; +} + +/* ── Buttons ─────────────────────────────────────────────────── */ +.hsm-btn { + padding: 0.5rem 1.5rem; + font-size: 1rem; + font-weight: 600; + border: none; + border-radius: 4px; + cursor: pointer; + background-color: #005fcc; + color: #ffffff; /* 7.3:1 contrast on #005fcc */ + transition: background-color 0.15s ease; +} + +.hsm-btn:hover { + background-color: #004aa3; +} + +.hsm-btn:active { + background-color: #003d88; +} + +.hsm-btn:focus-visible { + outline: 3px solid #005fcc; + outline-offset: 3px; + background-color: #004aa3; +} + +.hsm-btn--secondary { + background-color: #6c757d; /* 4.6:1 on #ffffff */ + color: #ffffff; +} + +.hsm-btn--secondary:hover { + background-color: #545b62; +} + +.hsm-btn--secondary:active { + background-color: #3d4349; +} + +.hsm-btn--secondary:focus-visible { + outline-color: #6c757d; +} + +/* ── End-game panel ──────────────────────────────────────────── */ +.hsm-end-panel { + max-width: 360px; + background-color: #ffffff; + border: 1px solid #dee2e6; + border-radius: 8px; + padding: 1.5rem 2rem; + text-align: center; +} + +.hsm-end-panel h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 0 0 1rem; +} + +.hsm-end-panel p { + font-size: 1.1rem; + margin: 0 0 0.5rem; +} + +.hsm-end-panel .hsm-btn { + margin-top: 1rem; + padding: 0.65rem 2rem; +} + +/* ── Respect hidden attribute ────────────────────────────────── */ +[hidden] { + display: none !important; +} diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js new file mode 100644 index 0000000..ea7ede5 --- /dev/null +++ b/app/games/high-speed-memory/tests/game.test.js @@ -0,0 +1,297 @@ +/** @jest-environment node */ +import { + describe, it, test, expect, beforeEach, +} from '@jest/globals'; + +import { + SYMBOLS, + GRID_CONFIGS, + BASE_DISPLAY_MS, + DISPLAY_DECREMENT_MS, + MIN_DISPLAY_MS, + initGame, + startGame, + stopGame, + getGridSize, + getDisplayDurationMs, + generateGrid, + checkMatch, + addCorrectPair, + completeRound, + getScore, + getLevel, + getRoundsCompleted, + isRunning, +} from '../game.js'; + +beforeEach(() => { + initGame(); +}); + +// ── Constants ───────────────────────────────────────────────────────────────── + +describe('SYMBOLS', () => { + test('is an array of strings', () => { + expect(Array.isArray(SYMBOLS)).toBe(true); + SYMBOLS.forEach((s) => expect(typeof s).toBe('string')); + }); + + test('has at least as many symbols as the maximum pair count needed', () => { + const maxPairs = Math.max(...GRID_CONFIGS.map(([r, c]) => (r * c) / 2)); + expect(SYMBOLS.length).toBeGreaterThanOrEqual(maxPairs); + }); +}); + +describe('GRID_CONFIGS', () => { + test('every config produces an even number of cards', () => { + GRID_CONFIGS.forEach(([rows, cols]) => { + expect((rows * cols) % 2).toBe(0); + }); + }); +}); + +// ── initGame ────────────────────────────────────────────────────────────────── + +describe('initGame', () => { + test('resets score to 0', () => { + addCorrectPair(); + initGame(); + expect(getScore()).toBe(0); + }); + + test('resets level to 0', () => { + completeRound(); + initGame(); + expect(getLevel()).toBe(0); + }); + + test('resets roundsCompleted to 0', () => { + completeRound(); + initGame(); + expect(getRoundsCompleted()).toBe(0); + }); + + test('resets running to false', () => { + startGame(); + initGame(); + expect(isRunning()).toBe(false); + }); +}); + +// ── startGame ───────────────────────────────────────────────────────────────── + +describe('startGame', () => { + test('sets running to true', () => { + startGame(); + expect(isRunning()).toBe(true); + }); + + test('throws if called when already running', () => { + startGame(); + expect(() => startGame()).toThrow('already running'); + }); +}); + +// ── stopGame ────────────────────────────────────────────────────────────────── + +describe('stopGame', () => { + test('sets running to false', () => { + startGame(); + stopGame(); + expect(isRunning()).toBe(false); + }); + + test('returns score, level, roundsCompleted, and duration', () => { + startGame(); + const result = stopGame(); + expect(result).toMatchObject({ + score: 0, + level: 0, + roundsCompleted: 0, + }); + expect(typeof result.duration).toBe('number'); + expect(result.duration).toBeGreaterThanOrEqual(0); + }); + + test('throws if the game is not running', () => { + expect(() => stopGame()).toThrow('not running'); + }); + + test('includes the current score in the result', () => { + startGame(); + addCorrectPair(); + addCorrectPair(); + const result = stopGame(); + expect(result.score).toBe(2); + }); + + test('includes the current level in the result', () => { + completeRound(); + startGame(); + const result = stopGame(); + expect(result.level).toBe(1); + }); +}); + +// ── getGridSize ─────────────────────────────────────────────────────────────── + +describe('getGridSize', () => { + test('returns rows and cols for level 0', () => { + const { rows, cols } = getGridSize(0); + expect(rows).toBe(GRID_CONFIGS[0][0]); + expect(cols).toBe(GRID_CONFIGS[0][1]); + }); + + test('clamps to the last config for very high levels', () => { + const last = GRID_CONFIGS[GRID_CONFIGS.length - 1]; + const { rows, cols } = getGridSize(9999); + expect(rows).toBe(last[0]); + expect(cols).toBe(last[1]); + }); + + test('returns the correct config for every defined level', () => { + GRID_CONFIGS.forEach(([r, c], i) => { + const { rows, cols } = getGridSize(i); + expect(rows).toBe(r); + expect(cols).toBe(c); + }); + }); +}); + +// ── getDisplayDurationMs ────────────────────────────────────────────────────── + +describe('getDisplayDurationMs', () => { + test('returns BASE_DISPLAY_MS at level 0', () => { + expect(getDisplayDurationMs(0)).toBe(BASE_DISPLAY_MS); + }); + + test('decreases by DISPLAY_DECREMENT_MS each level', () => { + expect(getDisplayDurationMs(1)).toBe(BASE_DISPLAY_MS - DISPLAY_DECREMENT_MS); + }); + + test('never goes below MIN_DISPLAY_MS', () => { + expect(getDisplayDurationMs(9999)).toBe(MIN_DISPLAY_MS); + }); +}); + +// ── generateGrid ────────────────────────────────────────────────────────────── + +describe('generateGrid', () => { + test('returns the correct number of cards for the level', () => { + const { rows, cols } = getGridSize(0); + const grid = generateGrid(0); + expect(grid.length).toBe(rows * cols); + }); + + test('each symbol appears exactly twice', () => { + const grid = generateGrid(0); + const counts = {}; + grid.forEach(({ symbol }) => { + counts[symbol] = (counts[symbol] || 0) + 1; + }); + Object.values(counts).forEach((count) => expect(count).toBe(2)); + }); + + test('all cards start as unmatched', () => { + const grid = generateGrid(0); + grid.forEach((card) => expect(card.matched).toBe(false)); + }); + + test('card ids are sequential 0-based indices', () => { + const grid = generateGrid(0); + grid.forEach((card, i) => expect(card.id).toBe(i)); + }); + + test('produces grids for every defined level', () => { + GRID_CONFIGS.forEach((_, i) => { + const { rows, cols } = getGridSize(i); + expect(generateGrid(i).length).toBe(rows * cols); + }); + }); +}); + +// ── checkMatch ──────────────────────────────────────────────────────────────── + +describe('checkMatch', () => { + test('returns true for equal symbols', () => { + expect(checkMatch('★', '★')).toBe(true); + }); + + test('returns false for different symbols', () => { + expect(checkMatch('★', '♠')).toBe(false); + }); +}); + +// ── addCorrectPair ──────────────────────────────────────────────────────────── + +describe('addCorrectPair', () => { + test('increments score by 1', () => { + addCorrectPair(); + expect(getScore()).toBe(1); + }); + + test('accumulates across multiple calls', () => { + addCorrectPair(); + addCorrectPair(); + addCorrectPair(); + expect(getScore()).toBe(3); + }); +}); + +// ── completeRound ───────────────────────────────────────────────────────────── + +describe('completeRound', () => { + test('increments level by 1', () => { + completeRound(); + expect(getLevel()).toBe(1); + }); + + test('increments roundsCompleted by 1', () => { + completeRound(); + expect(getRoundsCompleted()).toBe(1); + }); + + test('accumulates across multiple calls', () => { + completeRound(); + completeRound(); + expect(getLevel()).toBe(2); + expect(getRoundsCompleted()).toBe(2); + }); +}); + +// ── getScore / getLevel / getRoundsCompleted / isRunning ────────────────────── + +describe('getScore', () => { + test('returns 0 after init', () => { + expect(getScore()).toBe(0); + }); +}); + +describe('getLevel', () => { + test('returns 0 after init', () => { + expect(getLevel()).toBe(0); + }); +}); + +describe('getRoundsCompleted', () => { + test('returns 0 after init', () => { + expect(getRoundsCompleted()).toBe(0); + }); +}); + +describe('isRunning', () => { + test('returns false before startGame', () => { + expect(isRunning()).toBe(false); + }); + + test('returns true after startGame', () => { + startGame(); + expect(isRunning()).toBe(true); + }); + + it('returns false after stopGame', () => { + startGame(); + stopGame(); + expect(isRunning()).toBe(false); + }); +}); diff --git a/app/games/high-speed-memory/tests/index.test.js b/app/games/high-speed-memory/tests/index.test.js new file mode 100644 index 0000000..77c35cd --- /dev/null +++ b/app/games/high-speed-memory/tests/index.test.js @@ -0,0 +1,586 @@ +import { jest, describe, test, expect, beforeEach, afterEach } from '@jest/globals'; + +// Mock game.js so index.js can be tested in isolation. +jest.unstable_mockModule('../game.js', () => ({ + SYMBOLS: ['★', '♠', '♥', '♦', '♣', '☀', '☽', '✿', '♪', '✈', '⚽', '🎯', '🔔', '🌊', '🍀', '💎'], + GRID_CONFIGS: [[2, 2], [2, 3]], + BASE_DISPLAY_MS: 3000, + DISPLAY_DECREMENT_MS: 200, + MIN_DISPLAY_MS: 800, + initGame: jest.fn(), + startGame: jest.fn(), + stopGame: jest.fn(() => ({ score: 5, level: 2, roundsCompleted: 2, duration: 12000 })), + getGridSize: jest.fn(() => ({ rows: 2, cols: 2 })), + getDisplayDurationMs: jest.fn(() => 3000), + generateGrid: jest.fn(() => [ + { id: 0, symbol: '★', matched: false }, + { id: 1, symbol: '♠', matched: false }, + { id: 2, symbol: '★', matched: false }, + { id: 3, symbol: '♠', matched: false }, + ]), + checkMatch: jest.fn((a, b) => a === b), + addCorrectPair: jest.fn(), + completeRound: jest.fn(), + getScore: jest.fn(() => 5), + getLevel: jest.fn(() => 2), + getRoundsCompleted: jest.fn(() => 2), + isRunning: jest.fn(() => false), +})); + +const pluginModule = await import('../index.js'); +const plugin = pluginModule.default; +const { + announce, + updateStats, + updatePairsDisplay, + renderGrid, + hideCardEl, + revealCardEl, + markCardMatched, + markCardWrong, + hideAllCards, + startRound, + handleCardClick, +} = pluginModule; + +const gameMock = await import('../game.js'); + +// ── Helpers ─────────────────────────────────────────────────────────────────── + +/** Build a minimal DOM matching interface.html. */ +function buildContainer() { + const el = document.createElement('div'); + el.innerHTML = ` +
+ + + + + +
+ 0 + 1 + 0 + 0 + +
+ 0 + 1 + `; + return el; +} + +// ── Plugin contract ─────────────────────────────────────────────────────────── + +describe('plugin contract', () => { + test('exposes a string name', () => { + expect(typeof plugin.name).toBe('string'); + expect(plugin.name.length).toBeGreaterThan(0); + }); + + test('exposes init, start, stop, and reset functions', () => { + expect(typeof plugin.init).toBe('function'); + expect(typeof plugin.start).toBe('function'); + expect(typeof plugin.stop).toBe('function'); + expect(typeof plugin.reset).toBe('function'); + }); +}); + +// ── init ────────────────────────────────────────────────────────────────────── + +describe('init', () => { + test('accepts a DOM container without throwing', () => { + expect(() => plugin.init(buildContainer())).not.toThrow(); + }); + + test('accepts null without throwing', () => { + expect(() => plugin.init(null)).not.toThrow(); + }); +}); + +// ── start ───────────────────────────────────────────────────────────────────── + +describe('start', () => { + let container; + + beforeEach(() => { + jest.useFakeTimers(); + container = buildContainer(); + plugin.init(container); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + test('shows the game area and hides instructions', () => { + plugin.start(); + expect(container.querySelector('#hsm-game-area').hidden).toBe(false); + expect(container.querySelector('#hsm-instructions').hidden).toBe(true); + }); + + test('does not throw when called without a container', () => { + plugin.init(null); + expect(() => plugin.start()).not.toThrow(); + }); + + test('start button click triggers start', () => { + const startBtn = container.querySelector('#hsm-start-btn'); + startBtn.click(); + expect(container.querySelector('#hsm-game-area').hidden).toBe(false); + }); +}); + +// ── stop ────────────────────────────────────────────────────────────────────── + +describe('stop', () => { + let container; + + beforeEach(() => { + jest.useFakeTimers(); + container = buildContainer(); + plugin.init(container); + plugin.start(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + test('returns the result from game logic', () => { + const result = plugin.stop(); + expect(result).toMatchObject({ score: 5, level: 2 }); + }); + + test('shows the end panel', () => { + plugin.stop(); + expect(container.querySelector('#hsm-end-panel').hidden).toBe(false); + }); + + test('updates the final score display', () => { + plugin.stop(); + expect(container.querySelector('#hsm-final-score').textContent).toBe('5'); + }); + + test('does not throw when container is null', () => { + plugin.init(null); + expect(() => plugin.stop()).not.toThrow(); + }); + + test('stop button click triggers stop', () => { + const stopBtn = container.querySelector('#hsm-stop-btn'); + stopBtn.click(); + expect(container.querySelector('#hsm-end-panel').hidden).toBe(false); + }); + + test('clears pending flip-back timer on stop', () => { + // Release the flip lock by running the reveal timer + jest.runAllTimers(); + // Create a non-matching flip to set the flip-back timer + handleCardClick(0); // flip card 0 (★) + handleCardClick(1); // flip card 1 (♠) — no match, flip-back timer pending + // stop() should clear the pending timer without throwing + expect(() => plugin.stop()).not.toThrow(); + }); + + test('invokes window.api progress save when api is available', async () => { + const mockApi = { invoke: jest.fn().mockResolvedValue(undefined) }; + globalThis.window = globalThis.window || {}; + const originalApi = globalThis.window.api; + globalThis.window.api = mockApi; + + plugin.stop(); + + await Promise.resolve(); + + expect(mockApi.invoke).toHaveBeenCalledWith( + 'progress:save', + expect.objectContaining({ gameId: 'high-speed-memory' }), + ); + globalThis.window.api = originalApi; + }); + + test('swallows errors from window.api.invoke', async () => { + const mockApi = { invoke: jest.fn().mockRejectedValue(new Error('ipc error')) }; + globalThis.window = globalThis.window || {}; + const originalApi = globalThis.window.api; + globalThis.window.api = mockApi; + + expect(() => plugin.stop()).not.toThrow(); + await Promise.resolve(); + + globalThis.window.api = originalApi; + }); +}); + +// ── reset ───────────────────────────────────────────────────────────────────── + +describe('reset', () => { + let container; + + beforeEach(() => { + jest.useFakeTimers(); + container = buildContainer(); + plugin.init(container); + plugin.start(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + test('hides the game area', () => { + plugin.reset(); + expect(container.querySelector('#hsm-game-area').hidden).toBe(true); + }); + + test('shows the instructions panel', () => { + plugin.reset(); + expect(container.querySelector('#hsm-instructions').hidden).toBe(false); + }); + + test('does not throw when container is null', () => { + plugin.init(null); + expect(() => plugin.reset()).not.toThrow(); + }); + + test('clears pending hide timer on reset', () => { + // startRound creates a hide timer; reset should clear it + expect(() => plugin.reset()).not.toThrow(); + }); + + test('clears pending flip-back timer on reset', () => { + // Release the flip lock by running the reveal timer + jest.runAllTimers(); + // Create a non-matching flip to create a pending flip-back timer + handleCardClick(0); + handleCardClick(1); // no match, flip-back timer pending + expect(() => plugin.reset()).not.toThrow(); + }); +}); + +// ── play-again button ───────────────────────────────────────────────────────── + +describe('play again button', () => { + test('resets and restarts the game', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + plugin.start(); + plugin.stop(); // show end panel + + const playAgainBtn = container.querySelector('#hsm-play-again-btn'); + playAgainBtn.click(); + + expect(container.querySelector('#hsm-game-area').hidden).toBe(false); + jest.useRealTimers(); + }); +}); + +// ── announce ────────────────────────────────────────────────────────────────── + +describe('announce', () => { + test('sets feedback element text content', () => { + const container = buildContainer(); + plugin.init(container); + announce('Test message'); + expect(container.querySelector('#hsm-feedback').textContent).toBe('Test message'); + }); + + test('does not throw when feedback element is absent', () => { + plugin.init(document.createElement('div')); + expect(() => announce('hello')).not.toThrow(); + }); +}); + +// ── updateStats ─────────────────────────────────────────────────────────────── + +describe('updateStats', () => { + test('updates score and level elements', () => { + const container = buildContainer(); + plugin.init(container); + updateStats(); + expect(container.querySelector('#hsm-score').textContent).toBe('5'); + expect(container.querySelector('#hsm-level').textContent).toBe('3'); // level 2 + 1 + }); + + test('does not throw when elements are absent', () => { + plugin.init(document.createElement('div')); + expect(() => updateStats()).not.toThrow(); + }); +}); + +// ── updatePairsDisplay ──────────────────────────────────────────────────────── + +describe('updatePairsDisplay', () => { + test('does not throw when pairs element is absent', () => { + plugin.init(document.createElement('div')); + expect(() => updatePairsDisplay()).not.toThrow(); + }); + + test('updates pairs found element', () => { + const container = buildContainer(); + plugin.init(container); + updatePairsDisplay(); + expect(container.querySelector('#hsm-pairs-found').textContent).toBe('0'); + }); +}); + +// ── renderGrid ──────────────────────────────────────────────────────────────── + +describe('renderGrid', () => { + test('creates one button per card in the mocked grid', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + const buttons = container.querySelectorAll('#hsm-grid button'); + expect(buttons.length).toBe(4); + jest.useRealTimers(); + }); + + test('does not throw when grid element is absent', () => { + plugin.init(document.createElement('div')); + expect(() => renderGrid()).not.toThrow(); + }); + + test('buttons have data-id attributes', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + const btn = container.querySelector('[data-id="0"]'); + expect(btn).not.toBeNull(); + jest.useRealTimers(); + }); + + test('pressing Enter on a card triggers handleCardClick', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards so flipLock is false + + const btn = container.querySelector('[data-id="0"]'); + btn.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true })); + // Card should now be revealed + expect(btn.classList.contains('hsm-card--revealed')).toBe(true); + jest.useRealTimers(); + }); + + test('pressing Space on a card triggers handleCardClick', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards + + const btn = container.querySelector('[data-id="0"]'); + btn.dispatchEvent(new KeyboardEvent('keydown', { key: ' ', bubbles: true })); + expect(btn.classList.contains('hsm-card--revealed')).toBe(true); + jest.useRealTimers(); + }); + + test('pressing other keys on a card does not trigger handleCardClick', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards + + const btn = container.querySelector('[data-id="0"]'); + btn.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', bubbles: true })); + // Card should remain hidden (not revealed) + expect(btn.classList.contains('hsm-card--revealed')).toBe(false); + jest.useRealTimers(); + }); +}); + +// ── hideCardEl / revealCardEl / markCardMatched / markCardWrong ─────────────── + +describe('card element manipulation', () => { + let container; + + beforeEach(() => { + jest.useFakeTimers(); + container = buildContainer(); + plugin.init(container); + startRound(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + test('hideCardEl removes revealed class', () => { + const btn = container.querySelector('[data-id="0"]'); + btn.classList.add('hsm-card--revealed'); + hideCardEl(0); + expect(btn.classList.contains('hsm-card--revealed')).toBe(false); + }); + + test('revealCardEl adds revealed class and sets textContent', () => { + const btn = container.querySelector('[data-id="0"]'); + revealCardEl(0, '★'); + expect(btn.classList.contains('hsm-card--revealed')).toBe(true); + expect(btn.textContent).toBe('★'); + }); + + test('markCardMatched adds matched class and disables button', () => { + markCardMatched(0); + const btn = container.querySelector('[data-id="0"]'); + expect(btn.classList.contains('hsm-card--matched')).toBe(true); + expect(btn.disabled).toBe(true); + }); + + test('markCardWrong adds wrong class', () => { + markCardWrong(0); + const btn = container.querySelector('[data-id="0"]'); + expect(btn.classList.contains('hsm-card--wrong')).toBe(true); + }); + + test('hideCardEl does not throw for unknown card id', () => { + expect(() => hideCardEl(9999)).not.toThrow(); + }); + + test('revealCardEl does not throw for unknown card id', () => { + expect(() => revealCardEl(9999, '?')).not.toThrow(); + }); + + test('markCardMatched does not throw for unknown card id', () => { + expect(() => markCardMatched(9999)).not.toThrow(); + }); + + test('markCardWrong does not throw for unknown card id', () => { + expect(() => markCardWrong(9999)).not.toThrow(); + }); +}); + +// ── hideAllCards ────────────────────────────────────────────────────────────── + +describe('hideAllCards', () => { + test('hides the countdown and un-matched cards', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + + hideAllCards(); + const countdown = container.querySelector('#hsm-countdown'); + expect(countdown.hidden).toBe(true); + jest.useRealTimers(); + }); + + test('does not throw when container is absent', () => { + plugin.init(document.createElement('div')); + expect(() => hideAllCards()).not.toThrow(); + }); +}); + +// ── startRound ──────────────────────────────────────────────────────────────── + +describe('startRound', () => { + test('populates the grid with card buttons', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + const buttons = container.querySelectorAll('#hsm-grid button'); + expect(buttons.length).toBeGreaterThan(0); + jest.useRealTimers(); + }); + + test('shows the countdown banner', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + expect(container.querySelector('#hsm-countdown').hidden).toBe(false); + jest.useRealTimers(); + }); + + test('hides cards after the display duration', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); + expect(container.querySelector('#hsm-countdown').hidden).toBe(true); + jest.useRealTimers(); + }); +}); + +// ── handleCardClick ─────────────────────────────────────────────────────────── + +describe('handleCardClick', () => { + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + test('ignores clicks on matched cards', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards + // Match cards 0 and 2 (both ★) + handleCardClick(0); + handleCardClick(2); + jest.runAllTimers(); + // clicking a matched card again should be a no-op + expect(() => handleCardClick(0)).not.toThrow(); + }); + + test('ignores the same card being clicked twice', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards + handleCardClick(0); + expect(() => handleCardClick(0)).not.toThrow(); + }); + + test('flips non-matching pair back after delay', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards + // Cards 0 ('★') and 1 ('♠') do NOT match + handleCardClick(0); + handleCardClick(1); + const btn0 = container.querySelector('[data-id="0"]'); + expect(btn0.classList.contains('hsm-card--wrong')).toBe(true); + jest.runAllTimers(); // trigger flip-back + expect(btn0.classList.contains('hsm-card--revealed')).toBe(false); + }); + + test('does nothing when flip lock is active', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); // flip lock is active during reveal phase + expect(() => handleCardClick(0)).not.toThrow(); + }); + + test('advances to next round when all pairs matched', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // hide cards + + // Match all pairs: (0,★)+(2,★) then (1,♠)+(3,♠) + handleCardClick(0); + handleCardClick(2); // match ★ — pairsFound = 1 + handleCardClick(1); + handleCardClick(3); // match ♠ — pairsFound = 2, triggers onRoundComplete + + // completeRound should have been called + expect(gameMock.completeRound).toHaveBeenCalled(); + + // After the inter-round delay, startRound fires again + jest.runAllTimers(); + }); +}); + From 1aebe5117d2f8d8eb077a2502e5f2f6a55c82e4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 22:35:18 +0000 Subject: [PATCH 03/15] =?UTF-8?q?fix:=20apply=20code=20review=20feedback?= =?UTF-8?q?=20(it=E2=86=92test,=20Initialize=20spelling)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/index.js | 2 +- app/games/high-speed-memory/tests/game.test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js index 643ac7a..1b15898 100644 --- a/app/games/high-speed-memory/index.js +++ b/app/games/high-speed-memory/index.js @@ -350,7 +350,7 @@ function showEndPanel(result) { const name = 'High Speed Memory'; /** - * Initialise the plugin. + * Initialize the plugin. * Called once after interface.html has been injected into the game container. * Queries DOM elements and attaches event listeners; does not start timers. * diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js index ea7ede5..c0b4883 100644 --- a/app/games/high-speed-memory/tests/game.test.js +++ b/app/games/high-speed-memory/tests/game.test.js @@ -1,6 +1,6 @@ /** @jest-environment node */ import { - describe, it, test, expect, beforeEach, + describe, test, expect, beforeEach, } from '@jest/globals'; import { @@ -289,7 +289,7 @@ describe('isRunning', () => { expect(isRunning()).toBe(true); }); - it('returns false after stopGame', () => { + test('returns false after stopGame', () => { startGame(); stopGame(); expect(isRunning()).toBe(false); From b02272ccca3039473df1e767e7bfa668074b9970 Mon Sep 17 00:00:00 2001 From: Aaron Crosman Date: Tue, 17 Mar 2026 20:45:54 -0400 Subject: [PATCH 04/15] Update instructions for game patterns. --- .github/copilot-instructions.md | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index b81c3e0..f9fc874 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -106,15 +106,33 @@ Valid channels (extend as needed): - When a game is chosen, requests its HTML fragment and injects it into a `
` element. - Calls `plugin.init()` then `plugin.start()` on the loaded game module. -### 4 — Game Plugin Registry +### 4 — Game Structure -The registry (`app/games/registry.js`) is loaded by the main process at startup: +Games are all stored in `app/games//`. +They must all have a manifest (`manifest.json`) that includes at least: + +```json +{ + "id": "game-id", + "name": "Game Name", + "description": "Game description goes here.", + "version": "0.1.0", + "entryPoint": "index.js", + "thumbnail": "images/thumbnail.png", + "author": "Author Name" +}; ``` -startup - └─ scanGamesDirectory() // reads app/games/*/manifest.json - └─ returns GameManifest[] // passed to renderer on request -``` + +Games must all have a welcome screen that explains how to play, and a consistent UI for showing the current score and round. +The core game logic must be in `game.js` as pure functions, or helper libraries, that can be easily unit tested. +The `index.js` file should export the plugin API (`init`, `start`, `stop`, `reset`) that the renderer calls. + +When the player clicks "Stop" or finishes the game, the plugin must return a result object that includes at least a `score` property. +The renderer will take care of saving progress via IPC. When the player subsequently leaves the game, they must be returned to the main welcome screen with the list of games. +All game cards should have been updated with any updated scores. + +#### Plugin Registry When the renderer asks to load a game by ID, the main process: @@ -152,7 +170,7 @@ When the renderer asks to load a game by ID, the main process: All files and functions must include JSDoc comments. Use descriptive names for variables and functions. Use US English spelling (e.g. "initialize" not "initialise"). -When files get too large, break them into smaller modules. For example, if `index.js` exceeds 500 lines, consider moving game logic to `game.js` and UI rendering to `render.js`. +When files get too large, break them into smaller modules. For example, if `index.js` exceeds 500 lines, consider moving game logic to `game.js` and UI rendering to `render.js`. Any file over 1000 lines is a red flag. ### Linting From a8eb8900ed06dfe4520e7da042dee59b86590edd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:18:30 +0000 Subject: [PATCH 05/15] feat: revamp High Speed Memory per feedback (square grids, triplets, images, sound, display range, progress fix) Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/game.js | 119 ++++---- .../high-speed-memory/images/card-01.svg | 5 + .../high-speed-memory/images/card-02.svg | 5 + .../high-speed-memory/images/card-03.svg | 5 + .../high-speed-memory/images/card-04.svg | 5 + .../high-speed-memory/images/card-05.svg | 5 + .../high-speed-memory/images/card-06.svg | 5 + .../high-speed-memory/images/card-07.svg | 5 + .../high-speed-memory/images/card-08.svg | 5 + .../high-speed-memory/images/card-09.svg | 5 + .../high-speed-memory/images/card-10.svg | 5 + .../high-speed-memory/images/card-11.svg | 5 + .../high-speed-memory/images/card-12.svg | 5 + .../high-speed-memory/images/card-13.svg | 5 + .../high-speed-memory/images/card-14.svg | 5 + .../high-speed-memory/images/card-15.svg | 5 + .../high-speed-memory/images/card-16.svg | 5 + .../high-speed-memory/images/card-17.svg | 5 + .../high-speed-memory/images/card-18.svg | 5 + .../high-speed-memory/images/card-19.svg | 5 + .../high-speed-memory/images/card-20.svg | 5 + .../high-speed-memory/images/card-21.svg | 5 + .../high-speed-memory/images/card-22.svg | 5 + .../high-speed-memory/images/card-23.svg | 5 + .../high-speed-memory/images/card-24.svg | 5 + .../high-speed-memory/images/card-25.svg | 5 + .../high-speed-memory/images/card-26.svg | 5 + .../high-speed-memory/images/card-27.svg | 5 + .../high-speed-memory/images/card-28.svg | 5 + .../high-speed-memory/images/card-29.svg | 5 + .../high-speed-memory/images/card-30.svg | 5 + .../high-speed-memory/images/card-31.svg | 5 + .../high-speed-memory/images/card-32.svg | 5 + .../high-speed-memory/images/card-33.svg | 5 + .../high-speed-memory/images/card-34.svg | 5 + .../high-speed-memory/images/card-35.svg | 5 + .../high-speed-memory/images/card-36.svg | 5 + .../high-speed-memory/images/card-37.svg | 5 + .../high-speed-memory/images/card-38.svg | 5 + .../high-speed-memory/images/card-39.svg | 5 + .../high-speed-memory/images/card-40.svg | 5 + .../high-speed-memory/images/card-41.svg | 5 + .../high-speed-memory/images/card-42.svg | 5 + .../high-speed-memory/images/card-43.svg | 5 + .../high-speed-memory/images/card-44.svg | 5 + .../high-speed-memory/images/card-45.svg | 5 + .../high-speed-memory/images/card-46.svg | 5 + .../high-speed-memory/images/card-47.svg | 5 + .../high-speed-memory/images/card-48.svg | 5 + .../high-speed-memory/images/card-back.svg | 6 + app/games/high-speed-memory/index.js | 234 ++++++++++----- app/games/high-speed-memory/interface.html | 14 +- app/games/high-speed-memory/style.css | 98 ++++--- .../high-speed-memory/tests/game.test.js | 169 +++++++---- .../high-speed-memory/tests/index.test.js | 274 ++++++++++++------ 55 files changed, 849 insertions(+), 305 deletions(-) create mode 100644 app/games/high-speed-memory/images/card-01.svg create mode 100644 app/games/high-speed-memory/images/card-02.svg create mode 100644 app/games/high-speed-memory/images/card-03.svg create mode 100644 app/games/high-speed-memory/images/card-04.svg create mode 100644 app/games/high-speed-memory/images/card-05.svg create mode 100644 app/games/high-speed-memory/images/card-06.svg create mode 100644 app/games/high-speed-memory/images/card-07.svg create mode 100644 app/games/high-speed-memory/images/card-08.svg create mode 100644 app/games/high-speed-memory/images/card-09.svg create mode 100644 app/games/high-speed-memory/images/card-10.svg create mode 100644 app/games/high-speed-memory/images/card-11.svg create mode 100644 app/games/high-speed-memory/images/card-12.svg create mode 100644 app/games/high-speed-memory/images/card-13.svg create mode 100644 app/games/high-speed-memory/images/card-14.svg create mode 100644 app/games/high-speed-memory/images/card-15.svg create mode 100644 app/games/high-speed-memory/images/card-16.svg create mode 100644 app/games/high-speed-memory/images/card-17.svg create mode 100644 app/games/high-speed-memory/images/card-18.svg create mode 100644 app/games/high-speed-memory/images/card-19.svg create mode 100644 app/games/high-speed-memory/images/card-20.svg create mode 100644 app/games/high-speed-memory/images/card-21.svg create mode 100644 app/games/high-speed-memory/images/card-22.svg create mode 100644 app/games/high-speed-memory/images/card-23.svg create mode 100644 app/games/high-speed-memory/images/card-24.svg create mode 100644 app/games/high-speed-memory/images/card-25.svg create mode 100644 app/games/high-speed-memory/images/card-26.svg create mode 100644 app/games/high-speed-memory/images/card-27.svg create mode 100644 app/games/high-speed-memory/images/card-28.svg create mode 100644 app/games/high-speed-memory/images/card-29.svg create mode 100644 app/games/high-speed-memory/images/card-30.svg create mode 100644 app/games/high-speed-memory/images/card-31.svg create mode 100644 app/games/high-speed-memory/images/card-32.svg create mode 100644 app/games/high-speed-memory/images/card-33.svg create mode 100644 app/games/high-speed-memory/images/card-34.svg create mode 100644 app/games/high-speed-memory/images/card-35.svg create mode 100644 app/games/high-speed-memory/images/card-36.svg create mode 100644 app/games/high-speed-memory/images/card-37.svg create mode 100644 app/games/high-speed-memory/images/card-38.svg create mode 100644 app/games/high-speed-memory/images/card-39.svg create mode 100644 app/games/high-speed-memory/images/card-40.svg create mode 100644 app/games/high-speed-memory/images/card-41.svg create mode 100644 app/games/high-speed-memory/images/card-42.svg create mode 100644 app/games/high-speed-memory/images/card-43.svg create mode 100644 app/games/high-speed-memory/images/card-44.svg create mode 100644 app/games/high-speed-memory/images/card-45.svg create mode 100644 app/games/high-speed-memory/images/card-46.svg create mode 100644 app/games/high-speed-memory/images/card-47.svg create mode 100644 app/games/high-speed-memory/images/card-48.svg create mode 100644 app/games/high-speed-memory/images/card-back.svg diff --git a/app/games/high-speed-memory/game.js b/app/games/high-speed-memory/game.js index 5bdb3ed..0cca239 100644 --- a/app/games/high-speed-memory/game.js +++ b/app/games/high-speed-memory/game.js @@ -7,33 +7,37 @@ * @file High Speed Memory game logic module. */ -/** Symbols used for card faces. Must have at least MAX_PAIRS entries. */ -export const SYMBOLS = [ - '★', '♠', '♥', '♦', '♣', '☀', '☽', '✿', '♪', '✈', '⚽', '🎯', '🔔', '🌊', '🍀', '💎', -]; - /** - * Grid configurations by level: [rows, cols]. - * Each entry must produce an even number of cards (rows * cols must be even). + * Placeholder card-face image filenames. + * Replace these files with real artwork when assets are available. + * Enough entries to support up to level 9 (12×12 grid = 48 groups). */ -export const GRID_CONFIGS = [ - [2, 2], - [2, 3], - [2, 4], - [3, 4], - [4, 4], - [4, 5], - [4, 6], +export const CARD_IMAGES = [ + 'card-01.svg', 'card-02.svg', 'card-03.svg', 'card-04.svg', + 'card-05.svg', 'card-06.svg', 'card-07.svg', 'card-08.svg', + 'card-09.svg', 'card-10.svg', 'card-11.svg', 'card-12.svg', + 'card-13.svg', 'card-14.svg', 'card-15.svg', 'card-16.svg', + 'card-17.svg', 'card-18.svg', 'card-19.svg', 'card-20.svg', + 'card-21.svg', 'card-22.svg', 'card-23.svg', 'card-24.svg', + 'card-25.svg', 'card-26.svg', 'card-27.svg', 'card-28.svg', + 'card-29.svg', 'card-30.svg', 'card-31.svg', 'card-32.svg', + 'card-33.svg', 'card-34.svg', 'card-35.svg', 'card-36.svg', + 'card-37.svg', 'card-38.svg', 'card-39.svg', 'card-40.svg', + 'card-41.svg', 'card-42.svg', 'card-43.svg', 'card-44.svg', + 'card-45.svg', 'card-46.svg', 'card-47.svg', 'card-48.svg', ]; -/** Initial display duration in milliseconds for level 0. */ -export const BASE_DISPLAY_MS = 3000; +/** Number of cards in each matching group. */ +export const MATCH_SIZE = 3; + +/** Initial card-reveal display duration in milliseconds (level 0). */ +export const BASE_DISPLAY_MS = 500; -/** Amount to reduce display duration each level (ms). */ -export const DISPLAY_DECREMENT_MS = 200; +/** Amount to reduce display duration per level (ms). */ +export const DISPLAY_DECREMENT_MS = 24; /** Minimum display duration regardless of level (ms). */ -export const MIN_DISPLAY_MS = 800; +export const MIN_DISPLAY_MS = 20; /** @type {number} */ let score = 0; @@ -93,20 +97,32 @@ export function stopGame() { } /** - * Get the grid configuration (rows and columns) for a given level. - * Clamps to the last config if the level exceeds the defined configs. + * Get the square grid dimensions for a given level. + * Grids start at 3×3 and grow by 1 each level with no upper bound. * * @param {number} lvl - The game level (0-based). * @returns {{ rows: number, cols: number }} */ export function getGridSize(lvl) { - const idx = Math.min(lvl, GRID_CONFIGS.length - 1); - const [rows, cols] = GRID_CONFIGS[idx]; - return { rows, cols }; + const n = lvl + 3; + return { rows: n, cols: n }; +} + +/** + * Get the number of active cards for a given level. + * This is the largest multiple of MATCH_SIZE that fits inside the n×n grid. + * + * @param {number} lvl - The game level (0-based). + * @returns {number} Total active card count. + */ +export function getActiveCardCount(lvl) { + const { rows, cols } = getGridSize(lvl); + return Math.floor((rows * cols) / MATCH_SIZE) * MATCH_SIZE; } /** * Get the card-reveal display duration in milliseconds for a given level. + * Ranges from BASE_DISPLAY_MS down to MIN_DISPLAY_MS. * * @param {number} lvl - The game level (0-based). * @returns {number} Display duration in milliseconds. @@ -116,51 +132,52 @@ export function getDisplayDurationMs(lvl) { } /** - * Generate a shuffled grid of card objects for a given level. - * Each card has a unique id, a symbol, and starts as unmatched. - * Cards are generated as pairs so every symbol appears exactly twice. + * Generate a shuffled array of card objects for a given level. + * Each card has { id, image, matched }. + * Every image appears exactly MATCH_SIZE times. + * Returns getActiveCardCount(lvl) cards; any remaining grid cells are rendered empty. * * @param {number} lvl - The game level (0-based). - * @returns {Array<{ id: number, symbol: string, matched: boolean }>} + * @returns {Array<{ id: number, image: string, matched: boolean }>} */ export function generateGrid(lvl) { - const { rows, cols } = getGridSize(lvl); - const totalCards = rows * cols; - const pairCount = totalCards / 2; + const activeCount = getActiveCardCount(lvl); + const groupCount = activeCount / MATCH_SIZE; + + const selectedImages = CARD_IMAGES.slice(0, groupCount); - const selectedSymbols = SYMBOLS.slice(0, pairCount); - const cards = [...selectedSymbols, ...selectedSymbols].map((symbol, i) => ({ - id: i, - symbol, - matched: false, - })); + // Create MATCH_SIZE copies of each image filename + const cardImages = []; + selectedImages.forEach((img) => { + for (let k = 0; k < MATCH_SIZE; k += 1) { + cardImages.push(img); + } + }); // Fisher-Yates shuffle - for (let i = cards.length - 1; i > 0; i -= 1) { + for (let i = cardImages.length - 1; i > 0; i -= 1) { const j = Math.floor(Math.random() * (i + 1)); - [cards[i], cards[j]] = [cards[j], cards[i]]; + [cardImages[i], cardImages[j]] = [cardImages[j], cardImages[i]]; } - // Re-assign sequential ids after shuffle so id matches array position - return cards.map((card, i) => ({ ...card, id: i })); + // Assign sequential ids matching array position + return cardImages.map((image, i) => ({ id: i, image, matched: false })); } /** - * Check whether two card symbols match. + * Check whether a set of MATCH_SIZE card images all match. * - * @param {string} symbolA - Symbol on the first card. - * @param {string} symbolB - Symbol on the second card. - * @returns {boolean} True if the symbols are equal. + * @param {...string} images - Image filenames to compare; must have MATCH_SIZE arguments. + * @returns {boolean} True if all images are identical. */ -export function checkMatch(symbolA, symbolB) { - return symbolA === symbolB; +export function checkMatch(...images) { + return images.length === MATCH_SIZE && images.every((img) => img === images[0]); } /** - * Record a correct pair match. - * Increments the score by 1. + * Record a correct group match and increment the score. */ -export function addCorrectPair() { +export function addCorrectGroup() { score += 1; } diff --git a/app/games/high-speed-memory/images/card-01.svg b/app/games/high-speed-memory/images/card-01.svg new file mode 100644 index 0000000..c3ddb81 --- /dev/null +++ b/app/games/high-speed-memory/images/card-01.svg @@ -0,0 +1,5 @@ + + + + A + diff --git a/app/games/high-speed-memory/images/card-02.svg b/app/games/high-speed-memory/images/card-02.svg new file mode 100644 index 0000000..819e66d --- /dev/null +++ b/app/games/high-speed-memory/images/card-02.svg @@ -0,0 +1,5 @@ + + + + B + diff --git a/app/games/high-speed-memory/images/card-03.svg b/app/games/high-speed-memory/images/card-03.svg new file mode 100644 index 0000000..a8c2d5f --- /dev/null +++ b/app/games/high-speed-memory/images/card-03.svg @@ -0,0 +1,5 @@ + + + + C + diff --git a/app/games/high-speed-memory/images/card-04.svg b/app/games/high-speed-memory/images/card-04.svg new file mode 100644 index 0000000..6de87ec --- /dev/null +++ b/app/games/high-speed-memory/images/card-04.svg @@ -0,0 +1,5 @@ + + + + D + diff --git a/app/games/high-speed-memory/images/card-05.svg b/app/games/high-speed-memory/images/card-05.svg new file mode 100644 index 0000000..60676e7 --- /dev/null +++ b/app/games/high-speed-memory/images/card-05.svg @@ -0,0 +1,5 @@ + + + + E + diff --git a/app/games/high-speed-memory/images/card-06.svg b/app/games/high-speed-memory/images/card-06.svg new file mode 100644 index 0000000..4233ab8 --- /dev/null +++ b/app/games/high-speed-memory/images/card-06.svg @@ -0,0 +1,5 @@ + + + + F + diff --git a/app/games/high-speed-memory/images/card-07.svg b/app/games/high-speed-memory/images/card-07.svg new file mode 100644 index 0000000..e53fdfa --- /dev/null +++ b/app/games/high-speed-memory/images/card-07.svg @@ -0,0 +1,5 @@ + + + + G + diff --git a/app/games/high-speed-memory/images/card-08.svg b/app/games/high-speed-memory/images/card-08.svg new file mode 100644 index 0000000..5ebd857 --- /dev/null +++ b/app/games/high-speed-memory/images/card-08.svg @@ -0,0 +1,5 @@ + + + + H + diff --git a/app/games/high-speed-memory/images/card-09.svg b/app/games/high-speed-memory/images/card-09.svg new file mode 100644 index 0000000..c9103c0 --- /dev/null +++ b/app/games/high-speed-memory/images/card-09.svg @@ -0,0 +1,5 @@ + + + + I + diff --git a/app/games/high-speed-memory/images/card-10.svg b/app/games/high-speed-memory/images/card-10.svg new file mode 100644 index 0000000..207cac4 --- /dev/null +++ b/app/games/high-speed-memory/images/card-10.svg @@ -0,0 +1,5 @@ + + + + J + diff --git a/app/games/high-speed-memory/images/card-11.svg b/app/games/high-speed-memory/images/card-11.svg new file mode 100644 index 0000000..0a70b65 --- /dev/null +++ b/app/games/high-speed-memory/images/card-11.svg @@ -0,0 +1,5 @@ + + + + K + diff --git a/app/games/high-speed-memory/images/card-12.svg b/app/games/high-speed-memory/images/card-12.svg new file mode 100644 index 0000000..6e9c172 --- /dev/null +++ b/app/games/high-speed-memory/images/card-12.svg @@ -0,0 +1,5 @@ + + + + L + diff --git a/app/games/high-speed-memory/images/card-13.svg b/app/games/high-speed-memory/images/card-13.svg new file mode 100644 index 0000000..e710a58 --- /dev/null +++ b/app/games/high-speed-memory/images/card-13.svg @@ -0,0 +1,5 @@ + + + + M + diff --git a/app/games/high-speed-memory/images/card-14.svg b/app/games/high-speed-memory/images/card-14.svg new file mode 100644 index 0000000..7934baf --- /dev/null +++ b/app/games/high-speed-memory/images/card-14.svg @@ -0,0 +1,5 @@ + + + + N + diff --git a/app/games/high-speed-memory/images/card-15.svg b/app/games/high-speed-memory/images/card-15.svg new file mode 100644 index 0000000..9cee245 --- /dev/null +++ b/app/games/high-speed-memory/images/card-15.svg @@ -0,0 +1,5 @@ + + + + O + diff --git a/app/games/high-speed-memory/images/card-16.svg b/app/games/high-speed-memory/images/card-16.svg new file mode 100644 index 0000000..0df3802 --- /dev/null +++ b/app/games/high-speed-memory/images/card-16.svg @@ -0,0 +1,5 @@ + + + + P + diff --git a/app/games/high-speed-memory/images/card-17.svg b/app/games/high-speed-memory/images/card-17.svg new file mode 100644 index 0000000..ae06d19 --- /dev/null +++ b/app/games/high-speed-memory/images/card-17.svg @@ -0,0 +1,5 @@ + + + + Q + diff --git a/app/games/high-speed-memory/images/card-18.svg b/app/games/high-speed-memory/images/card-18.svg new file mode 100644 index 0000000..a35fd75 --- /dev/null +++ b/app/games/high-speed-memory/images/card-18.svg @@ -0,0 +1,5 @@ + + + + R + diff --git a/app/games/high-speed-memory/images/card-19.svg b/app/games/high-speed-memory/images/card-19.svg new file mode 100644 index 0000000..6b82638 --- /dev/null +++ b/app/games/high-speed-memory/images/card-19.svg @@ -0,0 +1,5 @@ + + + + S + diff --git a/app/games/high-speed-memory/images/card-20.svg b/app/games/high-speed-memory/images/card-20.svg new file mode 100644 index 0000000..c1613bf --- /dev/null +++ b/app/games/high-speed-memory/images/card-20.svg @@ -0,0 +1,5 @@ + + + + T + diff --git a/app/games/high-speed-memory/images/card-21.svg b/app/games/high-speed-memory/images/card-21.svg new file mode 100644 index 0000000..ec12b1b --- /dev/null +++ b/app/games/high-speed-memory/images/card-21.svg @@ -0,0 +1,5 @@ + + + + U + diff --git a/app/games/high-speed-memory/images/card-22.svg b/app/games/high-speed-memory/images/card-22.svg new file mode 100644 index 0000000..b33332b --- /dev/null +++ b/app/games/high-speed-memory/images/card-22.svg @@ -0,0 +1,5 @@ + + + + V + diff --git a/app/games/high-speed-memory/images/card-23.svg b/app/games/high-speed-memory/images/card-23.svg new file mode 100644 index 0000000..aa6824e --- /dev/null +++ b/app/games/high-speed-memory/images/card-23.svg @@ -0,0 +1,5 @@ + + + + W + diff --git a/app/games/high-speed-memory/images/card-24.svg b/app/games/high-speed-memory/images/card-24.svg new file mode 100644 index 0000000..98c3e8a --- /dev/null +++ b/app/games/high-speed-memory/images/card-24.svg @@ -0,0 +1,5 @@ + + + + X + diff --git a/app/games/high-speed-memory/images/card-25.svg b/app/games/high-speed-memory/images/card-25.svg new file mode 100644 index 0000000..b6b8524 --- /dev/null +++ b/app/games/high-speed-memory/images/card-25.svg @@ -0,0 +1,5 @@ + + + + Y + diff --git a/app/games/high-speed-memory/images/card-26.svg b/app/games/high-speed-memory/images/card-26.svg new file mode 100644 index 0000000..5ec0fc3 --- /dev/null +++ b/app/games/high-speed-memory/images/card-26.svg @@ -0,0 +1,5 @@ + + + + Z + diff --git a/app/games/high-speed-memory/images/card-27.svg b/app/games/high-speed-memory/images/card-27.svg new file mode 100644 index 0000000..1a01df1 --- /dev/null +++ b/app/games/high-speed-memory/images/card-27.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-28.svg b/app/games/high-speed-memory/images/card-28.svg new file mode 100644 index 0000000..2cb5049 --- /dev/null +++ b/app/games/high-speed-memory/images/card-28.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-29.svg b/app/games/high-speed-memory/images/card-29.svg new file mode 100644 index 0000000..583e37a --- /dev/null +++ b/app/games/high-speed-memory/images/card-29.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-30.svg b/app/games/high-speed-memory/images/card-30.svg new file mode 100644 index 0000000..d04f4f1 --- /dev/null +++ b/app/games/high-speed-memory/images/card-30.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-31.svg b/app/games/high-speed-memory/images/card-31.svg new file mode 100644 index 0000000..7ab576b --- /dev/null +++ b/app/games/high-speed-memory/images/card-31.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-32.svg b/app/games/high-speed-memory/images/card-32.svg new file mode 100644 index 0000000..dba3ced --- /dev/null +++ b/app/games/high-speed-memory/images/card-32.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-33.svg b/app/games/high-speed-memory/images/card-33.svg new file mode 100644 index 0000000..4e95658 --- /dev/null +++ b/app/games/high-speed-memory/images/card-33.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-34.svg b/app/games/high-speed-memory/images/card-34.svg new file mode 100644 index 0000000..f80c4be --- /dev/null +++ b/app/games/high-speed-memory/images/card-34.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-35.svg b/app/games/high-speed-memory/images/card-35.svg new file mode 100644 index 0000000..c6dd818 --- /dev/null +++ b/app/games/high-speed-memory/images/card-35.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-36.svg b/app/games/high-speed-memory/images/card-36.svg new file mode 100644 index 0000000..2b21eb6 --- /dev/null +++ b/app/games/high-speed-memory/images/card-36.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-37.svg b/app/games/high-speed-memory/images/card-37.svg new file mode 100644 index 0000000..4063c73 --- /dev/null +++ b/app/games/high-speed-memory/images/card-37.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-38.svg b/app/games/high-speed-memory/images/card-38.svg new file mode 100644 index 0000000..8a9484a --- /dev/null +++ b/app/games/high-speed-memory/images/card-38.svg @@ -0,0 +1,5 @@ + + + + 🎯 + diff --git a/app/games/high-speed-memory/images/card-39.svg b/app/games/high-speed-memory/images/card-39.svg new file mode 100644 index 0000000..08cfb7e --- /dev/null +++ b/app/games/high-speed-memory/images/card-39.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-40.svg b/app/games/high-speed-memory/images/card-40.svg new file mode 100644 index 0000000..d5eecf3 --- /dev/null +++ b/app/games/high-speed-memory/images/card-40.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-41.svg b/app/games/high-speed-memory/images/card-41.svg new file mode 100644 index 0000000..4bd2f0d --- /dev/null +++ b/app/games/high-speed-memory/images/card-41.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/games/high-speed-memory/images/card-42.svg b/app/games/high-speed-memory/images/card-42.svg new file mode 100644 index 0000000..bb4f277 --- /dev/null +++ b/app/games/high-speed-memory/images/card-42.svg @@ -0,0 +1,5 @@ + + + + 🔥 + diff --git a/app/games/high-speed-memory/images/card-43.svg b/app/games/high-speed-memory/images/card-43.svg new file mode 100644 index 0000000..4a74af3 --- /dev/null +++ b/app/games/high-speed-memory/images/card-43.svg @@ -0,0 +1,5 @@ + + + + 🌊 + diff --git a/app/games/high-speed-memory/images/card-44.svg b/app/games/high-speed-memory/images/card-44.svg new file mode 100644 index 0000000..464a474 --- /dev/null +++ b/app/games/high-speed-memory/images/card-44.svg @@ -0,0 +1,5 @@ + + + + 🍀 + diff --git a/app/games/high-speed-memory/images/card-45.svg b/app/games/high-speed-memory/images/card-45.svg new file mode 100644 index 0000000..ca2f855 --- /dev/null +++ b/app/games/high-speed-memory/images/card-45.svg @@ -0,0 +1,5 @@ + + + + 💎 + diff --git a/app/games/high-speed-memory/images/card-46.svg b/app/games/high-speed-memory/images/card-46.svg new file mode 100644 index 0000000..9bde265 --- /dev/null +++ b/app/games/high-speed-memory/images/card-46.svg @@ -0,0 +1,5 @@ + + + + 🎵 + diff --git a/app/games/high-speed-memory/images/card-47.svg b/app/games/high-speed-memory/images/card-47.svg new file mode 100644 index 0000000..bc50ec6 --- /dev/null +++ b/app/games/high-speed-memory/images/card-47.svg @@ -0,0 +1,5 @@ + + + + 🌈 + diff --git a/app/games/high-speed-memory/images/card-48.svg b/app/games/high-speed-memory/images/card-48.svg new file mode 100644 index 0000000..c548643 --- /dev/null +++ b/app/games/high-speed-memory/images/card-48.svg @@ -0,0 +1,5 @@ + + + + 🦋 + diff --git a/app/games/high-speed-memory/images/card-back.svg b/app/games/high-speed-memory/images/card-back.svg new file mode 100644 index 0000000..2e31449 --- /dev/null +++ b/app/games/high-speed-memory/images/card-back.svg @@ -0,0 +1,6 @@ + + + + + ? + diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js index 1b15898..370b3f7 100644 --- a/app/games/high-speed-memory/index.js +++ b/app/games/high-speed-memory/index.js @@ -9,9 +9,21 @@ import * as game from './game.js'; -/** Delay in ms before flipping back a wrong-guess pair. */ +/** + * Delay in ms before flipping back a wrong-guess group. + * Long enough for the player to see which cards were wrong. + */ const WRONG_FLIP_DELAY_MS = 900; +/** + * Base path for card images relative to the renderer's root (app/index.html). + * Images are stored alongside this game's own files. + */ +const IMAGES_PATH = 'games/high-speed-memory/images/'; + +/** Src for the card-back image (face-down state). */ +const CARD_BACK_SRC = `${IMAGES_PATH}card-back.svg`; + // ── DOM references (populated by init) ──────────────────────────────────────── /** @type {HTMLElement|null} */ @@ -45,10 +57,10 @@ let _scoreEl = null; let _levelEl = null; /** @type {HTMLElement|null} */ -let _pairsFoundEl = null; +let _groupsFoundEl = null; /** @type {HTMLElement|null} */ -let _pairsTotalEl = null; +let _groupsTotalEl = null; /** @type {HTMLElement|null} */ let _countdownEl = null; @@ -66,12 +78,12 @@ let _finalLevelEl = null; /** * Current round's card data (from game.generateGrid). - * @type {Array<{ id: number, symbol: string, matched: boolean }>} + * @type {Array<{ id: number, image: string, matched: boolean }>} */ let _roundGrid = []; /** - * IDs of the (up to two) cards currently flipped face-up waiting for comparison. + * IDs of cards currently flipped face-up waiting for comparison (up to MATCH_SIZE). * @type {number[]} */ let _flipped = []; @@ -83,10 +95,10 @@ let _flipped = []; let _flipLock = false; /** - * Number of pairs matched in the current round. + * Number of groups matched in the current round. * @type {number} */ -let _pairsFound = 0; +let _groupsFound = 0; /** * Pending setTimeout handle for flipping wrong guesses back. @@ -100,6 +112,36 @@ let _flipBackTimer = null; */ let _hideTimer = null; +// ── Audio ───────────────────────────────────────────────────────────────────── + +/** + * Play a short buzzer sound to indicate a wrong guess. + * Uses the Web Audio API; silently no-ops if the API is unavailable. + */ +export function playWrongSound() { + const AudioCtx = (typeof AudioContext !== 'undefined' && AudioContext) + // eslint-disable-next-line no-undef + || (typeof webkitAudioContext !== 'undefined' && webkitAudioContext) + || null; + if (!AudioCtx) return; + try { + const ctx = new AudioCtx(); + const osc = ctx.createOscillator(); + const gain = ctx.createGain(); + osc.connect(gain); + gain.connect(ctx.destination); + osc.type = 'sawtooth'; + osc.frequency.setValueAtTime(180, ctx.currentTime); + gain.gain.setValueAtTime(0.25, ctx.currentTime); + gain.gain.exponentialRampToValueAtTime(0.001, ctx.currentTime + 0.4); + osc.start(ctx.currentTime); + osc.stop(ctx.currentTime + 0.4); + osc.onended = () => { ctx.close().catch(() => {}); }; + } catch { + // Ignore any audio initialization errors + } +} + // ── Helpers ─────────────────────────────────────────────────────────────────── /** @@ -121,30 +163,44 @@ export function updateStats() { } /** - * Update the pairs counter display. + * Update the groups-found counter display. */ -export function updatePairsDisplay() { - if (_pairsFoundEl) _pairsFoundEl.textContent = String(_pairsFound); +export function updateGroupsDisplay() { + if (_groupsFoundEl) _groupsFoundEl.textContent = String(_groupsFound); } /** * Build and inject the card grid DOM for the current round. * Clears any existing grid content first. + * Cards are rendered face-up during the reveal phase. */ export function renderGrid() { if (!_gridEl) return; _gridEl.innerHTML = ''; - const { cols } = game.getGridSize(game.getLevel()); + const { rows, cols } = game.getGridSize(game.getLevel()); + + // Set CSS grid columns and a --cols custom property used by the stylesheet _gridEl.style.gridTemplateColumns = `repeat(${cols}, 1fr)`; + _gridEl.style.gridTemplateRows = `repeat(${rows}, 1fr)`; + _gridEl.style.setProperty('--cols', String(cols)); + _gridEl.style.setProperty('--rows', String(rows)); _roundGrid.forEach((card) => { const btn = document.createElement('button'); btn.type = 'button'; btn.className = 'hsm-card hsm-card--revealed'; - btn.setAttribute('aria-label', `Card ${card.id + 1}: ${card.symbol}`); + btn.setAttribute('aria-label', `Card ${card.id + 1}: revealed`); btn.setAttribute('data-id', String(card.id)); - btn.textContent = card.symbol; + btn.setAttribute('data-image', card.image); + + const img = document.createElement('img'); + img.src = `${IMAGES_PATH}${card.image}`; + img.alt = ''; + img.setAttribute('aria-hidden', 'true'); + img.className = 'hsm-card__img'; + btn.appendChild(img); + btn.addEventListener('click', () => handleCardClick(card.id)); btn.addEventListener('keydown', (e) => { if (e.key === 'Enter' || e.key === ' ') { @@ -155,14 +211,22 @@ export function renderGrid() { _gridEl.appendChild(btn); }); - if (_pairsTotalEl) { - const totalPairs = _roundGrid.length / 2; - _pairsTotalEl.textContent = String(totalPairs); + // Fill remaining grid cells with empty placeholders if n*n is not divisible by MATCH_SIZE + const emptyCount = rows * cols - _roundGrid.length; + for (let i = 0; i < emptyCount; i += 1) { + const placeholder = document.createElement('div'); + placeholder.className = 'hsm-card hsm-card--empty'; + placeholder.setAttribute('aria-hidden', 'true'); + _gridEl.appendChild(placeholder); + } + + if (_groupsTotalEl) { + _groupsTotalEl.textContent = String(_roundGrid.length / game.MATCH_SIZE); } } /** - * Flip a single card face-down in the DOM (without affecting _roundGrid state). + * Flip a single card face-down in the DOM (does not modify _roundGrid state). * @param {number} cardId - The id of the card to hide. */ export function hideCardEl(cardId) { @@ -170,21 +234,27 @@ export function hideCardEl(cardId) { if (!btn) return; btn.classList.remove('hsm-card--revealed', 'hsm-card--wrong'); btn.setAttribute('aria-label', `Card ${cardId + 1}: face down`); - btn.textContent = ''; + const img = btn.querySelector('img'); + if (img) { + img.src = CARD_BACK_SRC; + } } /** * Flip a card face-up in the DOM. * @param {number} cardId - The id of the card to reveal. - * @param {string} symbol - The symbol to display. + * @param {string} imageName - The image filename to display. */ -export function revealCardEl(cardId, symbol) { +export function revealCardEl(cardId, imageName) { const btn = _gridEl && _gridEl.querySelector(`[data-id="${cardId}"]`); if (!btn) return; btn.classList.add('hsm-card--revealed'); btn.classList.remove('hsm-card--wrong'); - btn.setAttribute('aria-label', `Card ${cardId + 1}: ${symbol}`); - btn.textContent = symbol; + btn.setAttribute('aria-label', `Card ${cardId + 1}: revealed`); + const img = btn.querySelector('img'); + if (img) { + img.src = `${IMAGES_PATH}${imageName}`; + } } /** @@ -200,7 +270,7 @@ export function markCardMatched(cardId) { } /** - * Apply the "wrong guess" visual state to a card element briefly. + * Apply the "wrong guess" visual state to a card element. * @param {number} cardId - The id of the card to mark as wrong. */ export function markCardWrong(cardId) { @@ -221,38 +291,43 @@ export function hideAllCards() { }); if (_countdownEl) _countdownEl.hidden = true; _flipLock = false; - announce('Cards hidden — find the matching pairs!'); + announce('Cards hidden — find the matching groups!'); } /** * Start a new round: generate a fresh grid, render it revealed, then hide after delay. */ export function startRound() { - _pairsFound = 0; + _groupsFound = 0; _flipped = []; _flipLock = true; _roundGrid = game.generateGrid(game.getLevel()); renderGrid(); updateStats(); - updatePairsDisplay(); + updateGroupsDisplay(); const displayMs = game.getDisplayDurationMs(game.getLevel()); - const seconds = Math.ceil(displayMs / 1000); + const ms = displayMs < 1000 + ? `${displayMs}ms` + : `${Math.ceil(displayMs / 1000)} second${Math.ceil(displayMs / 1000) !== 1 ? 's' : ''}`; if (_countdownEl) { - _countdownEl.textContent = `Memorize! Cards hide in ${seconds} second${seconds !== 1 ? 's' : ''}…`; + _countdownEl.textContent = `Memorize! Cards hide in ${ms}…`; _countdownEl.hidden = false; } - announce(`Level ${game.getLevel() + 1}. Memorize the ${_roundGrid.length} cards. They will hide in ${seconds} seconds.`); + announce( + `Level ${game.getLevel() + 1}. Memorize the ${_roundGrid.length} cards. They hide in ${ms}.`, + ); _hideTimer = setTimeout(hideAllCards, displayMs); } /** * Handle a card being clicked (or activated via keyboard). - * Ignores clicks when the flip lock is active or the card is already matched/flipped. + * Collects MATCH_SIZE flips before checking for a group match. + * Ignores clicks when flip lock is active or the card is already matched/flipped. * * @param {number} cardId - The id of the clicked card. */ @@ -264,44 +339,42 @@ export function handleCardClick(cardId) { if (!card || card.matched) return; // Flip the card face-up - revealCardEl(cardId, card.symbol); + revealCardEl(cardId, card.image); _flipped.push(cardId); - if (_flipped.length < 2) return; + if (_flipped.length < game.MATCH_SIZE) return; - // Two cards flipped — check for a match + // MATCH_SIZE cards flipped — evaluate group _flipLock = true; - const [idA, idB] = _flipped; - const cardA = _roundGrid.find((c) => c.id === idA); - const cardB = _roundGrid.find((c) => c.id === idB); - - if (game.checkMatch(cardA.symbol, cardB.symbol)) { - // Match found - cardA.matched = true; - cardB.matched = true; - markCardMatched(idA); - markCardMatched(idB); - game.addCorrectPair(); - _pairsFound += 1; + const flippedCards = _flipped.map((id) => _roundGrid.find((c) => c.id === id)); + const images = flippedCards.map((c) => c.image); + + if (game.checkMatch(...images)) { + // All MATCH_SIZE cards match + flippedCards.forEach((c) => { + c.matched = true; + markCardMatched(c.id); + }); + game.addCorrectGroup(); + _groupsFound += 1; updateStats(); - updatePairsDisplay(); - announce(`Match! ${cardA.symbol}`); + updateGroupsDisplay(); + announce('Match! Found a group.'); _flipped = []; _flipLock = false; - const totalPairs = _roundGrid.length / 2; - if (_pairsFound >= totalPairs) { + const totalGroups = _roundGrid.length / game.MATCH_SIZE; + if (_groupsFound >= totalGroups) { onRoundComplete(); } } else { - // No match — shake and flip back - markCardWrong(idA); - markCardWrong(idB); + // No match — play sound and flip back + flippedCards.forEach((c) => markCardWrong(c.id)); + playWrongSound(); announce('No match. Try again.'); _flipBackTimer = setTimeout(() => { - hideCardEl(idA); - hideCardEl(idB); + _flipped.forEach((id) => hideCardEl(id)); _flipped = []; _flipLock = false; }, WRONG_FLIP_DELAY_MS); @@ -309,13 +382,13 @@ export function handleCardClick(cardId) { } /** - * Called when all pairs in the current round have been found. + * Called when all groups in the current round have been found. * Advances to the next level and starts a new round. */ function onRoundComplete() { game.completeRound(); announce(`Round complete! Starting level ${game.getLevel() + 1}.`); - // Brief pause so the player sees the complete board before the next round + // Brief pause so the player sees the completed board before the next round starts setTimeout(startRound, 1200); } @@ -371,8 +444,8 @@ function init(gameContainer) { _gridEl = _container.querySelector('#hsm-grid'); _scoreEl = _container.querySelector('#hsm-score'); _levelEl = _container.querySelector('#hsm-level'); - _pairsFoundEl = _container.querySelector('#hsm-pairs-found'); - _pairsTotalEl = _container.querySelector('#hsm-pairs-total'); + _groupsFoundEl = _container.querySelector('#hsm-groups-found'); + _groupsTotalEl = _container.querySelector('#hsm-groups-total'); _countdownEl = _container.querySelector('#hsm-countdown'); _feedbackEl = _container.querySelector('#hsm-feedback'); _finalScoreEl = _container.querySelector('#hsm-final-score'); @@ -407,8 +480,8 @@ function start() { } /** - * Stop the game and return the final result. - * Clears timers and shows the end-game panel. + * Stop the game, persist progress, and show the end-game panel. + * Progress is saved asynchronously (fire-and-forget); the game result is returned synchronously. * * @returns {{ score: number, level: number, roundsCompleted: number, duration: number }} */ @@ -416,13 +489,35 @@ function stop() { clearTimers(); const result = game.stopGame(); - if (typeof window !== 'undefined' && window.api) { - window.api.invoke('progress:save', { - gameId: 'high-speed-memory', - score: result.score, - level: result.level, - }).catch(() => {}); - } + // Save progress asynchronously — fire and forget + (async () => { + if (typeof window !== 'undefined' && window.api) { + try { + let existing = { playerId: 'default', games: {} }; + try { + existing = await window.api.invoke('progress:load', { playerId: 'default' }) || existing; + } catch { + // If load fails, continue with defaults + } + const prev = (existing.games && existing.games['high-speed-memory']) || {}; + const updated = { + ...existing, + games: { + ...existing.games, + 'high-speed-memory': { + highScore: Math.max(result.score, prev.highScore || 0), + sessionsPlayed: (prev.sessionsPlayed || 0) + 1, + lastPlayed: new Date().toISOString(), + highestLevel: Math.max(result.level, prev.highestLevel || 0), + }, + }, + }; + await window.api.invoke('progress:save', { playerId: 'default', data: updated }); + } catch { + // Swallow all progress save/load errors + } + } + })(); showEndPanel(result); return result; @@ -438,7 +533,7 @@ function reset() { _roundGrid = []; _flipped = []; _flipLock = false; - _pairsFound = 0; + _groupsFound = 0; if (_gridEl) _gridEl.innerHTML = ''; if (_instructionsEl) _instructionsEl.hidden = false; @@ -448,7 +543,7 @@ function reset() { if (_feedbackEl) _feedbackEl.textContent = ''; updateStats(); - updatePairsDisplay(); + updateGroupsDisplay(); } export default { @@ -458,3 +553,4 @@ export default { stop, reset, }; + diff --git a/app/games/high-speed-memory/interface.html b/app/games/high-speed-memory/interface.html index 16f9b5a..cae7326 100644 --- a/app/games/high-speed-memory/interface.html +++ b/app/games/high-speed-memory/interface.html @@ -9,14 +9,14 @@

High Speed Memory

How to Play

- A grid of cards will flash open briefly — memorize the symbol on each card! - After they flip back, find all the matching pairs from memory. + A grid of cards will flash open briefly — memorize where each image is! + After they flip back, find all the matching groups of three from memory.

  • Watch closely while the cards are revealed.
  • -
  • After they flip face-down, click two cards you think share the same symbol.
  • -
  • Matched pairs stay revealed. Wrong guesses flip back.
  • -
  • Find every pair to advance — grids grow and reveal time shrinks each level!
  • +
  • After they flip face-down, click three cards you think share the same image.
  • +
  • Matched groups stay revealed. Wrong guesses flip back.
  • +
  • Find every group to advance — grids grow and reveal time shrinks each level!
  • Use Tab to move between cards and Enter or Space to select.
@@ -33,8 +33,8 @@

How to Play

Level: 1 Score: 0 - Pairs: 0 / - 0 + Groups: 0 / + 0
diff --git a/app/games/high-speed-memory/style.css b/app/games/high-speed-memory/style.css index 2b04adf..5db7ff0 100644 --- a/app/games/high-speed-memory/style.css +++ b/app/games/high-speed-memory/style.css @@ -3,14 +3,17 @@ display: flex; flex-direction: column; align-items: center; - gap: 1rem; - padding: 1.5rem; + gap: 0.75rem; + padding: 0.75rem 1rem; background-color: #f8f9fa; color: #212529; /* ~14.5:1 contrast on #f8f9fa */ + /* Fill the full height of the game container */ + min-height: calc(100vh - 160px); + box-sizing: border-box; } .high-speed-memory h2 { - font-size: 1.75rem; + font-size: 1.5rem; font-weight: 700; margin: 0; } @@ -61,6 +64,17 @@ font-size: 1.1rem; } +/* ── Game area ───────────────────────────────────────────────── */ +#hsm-game-area { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.75rem; + flex: 1; + width: 100%; + min-height: 0; +} + /* ── Stats bar ───────────────────────────────────────────────── */ .hsm-stats { display: flex; @@ -77,11 +91,11 @@ /* ── Countdown banner ────────────────────────────────────────── */ .hsm-countdown { - padding: 0.5rem 1.5rem; + padding: 0.4rem 1.25rem; background-color: #1a1a2e; color: #ffffff; /* 18:1 contrast */ border-radius: 6px; - font-size: 1.1rem; + font-size: 1rem; font-weight: 600; text-align: center; width: 100%; @@ -91,77 +105,72 @@ /* ── Card grid ───────────────────────────────────────────────── */ .hsm-grid { display: grid; - gap: 0.5rem; - justify-content: center; + gap: 0.4rem; + /* Responsive square grid that fills available space */ + width: min(90vw, calc(100vh - 260px)); + height: min(90vw, calc(100vh - 260px)); + max-width: 100%; + margin: 0 auto; + flex-shrink: 0; } /* ── Individual card ─────────────────────────────────────────── */ .hsm-card { - width: 72px; - height: 72px; + position: relative; border: none; - border-radius: 8px; - font-size: 1.75rem; + border-radius: 6px; cursor: pointer; + overflow: hidden; + background-color: #1a1a2e; + transition: transform 0.1s ease, background-color 0.15s ease; display: flex; align-items: center; justify-content: center; - transition: transform 0.15s ease, background-color 0.15s ease; - background-color: #1a1a2e; - color: #1a1a2e; /* hide symbol by default — face-down */ - position: relative; - user-select: none; + padding: 0; } -/* Face-down: show question mark pattern */ -.hsm-card::after { - content: '?'; - position: absolute; - font-size: 1.5rem; - color: #e94560; /* 4.6:1 on #1a1a2e */ +/* Card image fills the button */ +.hsm-card__img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; pointer-events: none; + user-select: none; } -/* Face-up (revealed or being guessed): show the symbol */ +/* Face-up revealed state */ .hsm-card--revealed { background-color: #ffffff; - color: #212529; /* ~16:1 contrast on #ffffff */ -} - -.hsm-card--revealed::after { - display: none; } /* Matched pair: green background */ .hsm-card--matched { background-color: #d4edda; - color: #155724; /* 7.3:1 contrast on #d4edda */ cursor: default; + outline: 2px solid #28a745; } -.hsm-card--matched::after { - display: none; +.hsm-card--matched .hsm-card__img { + opacity: 0.85; } -/* Wrong-guess flash: brief red tint (applied via JS, removed after animation) */ +/* Wrong guess: red tint (no animation per game spec) */ .hsm-card--wrong { background-color: #f8d7da; - color: #721c24; /* 7.3:1 contrast on #f8d7da */ - animation: hsm-shake 0.3s ease-out; -} - -.hsm-card--wrong::after { - display: none; + outline: 2px solid #dc3545; } -@keyframes hsm-shake { - 0%, 100% { transform: translateX(0); } - 25% { transform: translateX(-4px); } - 75% { transform: translateX(4px); } +/* Empty placeholder cell (fills unused grid slot) */ +.hsm-card--empty { + background-color: transparent; + border: 1px dashed #dee2e6; + cursor: default; + pointer-events: none; } -.hsm-card:hover:not(.hsm-card--matched):not([disabled]) { - transform: scale(1.05); +.hsm-card:hover:not(.hsm-card--matched):not(.hsm-card--empty):not([disabled]) { + transform: scale(1.04); } .hsm-card:focus-visible { @@ -251,3 +260,4 @@ [hidden] { display: none !important; } + diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js index c0b4883..9b0a9be 100644 --- a/app/games/high-speed-memory/tests/game.test.js +++ b/app/games/high-speed-memory/tests/game.test.js @@ -4,8 +4,8 @@ import { } from '@jest/globals'; import { - SYMBOLS, - GRID_CONFIGS, + CARD_IMAGES, + MATCH_SIZE, BASE_DISPLAY_MS, DISPLAY_DECREMENT_MS, MIN_DISPLAY_MS, @@ -13,10 +13,11 @@ import { startGame, stopGame, getGridSize, + getActiveCardCount, getDisplayDurationMs, generateGrid, checkMatch, - addCorrectPair, + addCorrectGroup, completeRound, getScore, getLevel, @@ -30,23 +31,35 @@ beforeEach(() => { // ── Constants ───────────────────────────────────────────────────────────────── -describe('SYMBOLS', () => { +describe('CARD_IMAGES', () => { test('is an array of strings', () => { - expect(Array.isArray(SYMBOLS)).toBe(true); - SYMBOLS.forEach((s) => expect(typeof s).toBe('string')); + expect(Array.isArray(CARD_IMAGES)).toBe(true); + CARD_IMAGES.forEach((s) => expect(typeof s).toBe('string')); }); - test('has at least as many symbols as the maximum pair count needed', () => { - const maxPairs = Math.max(...GRID_CONFIGS.map(([r, c]) => (r * c) / 2)); - expect(SYMBOLS.length).toBeGreaterThanOrEqual(maxPairs); + test('has enough images for a level-9 grid (12x12 = 48 groups)', () => { + const level9Groups = getActiveCardCount(9) / MATCH_SIZE; + expect(CARD_IMAGES.length).toBeGreaterThanOrEqual(level9Groups); }); }); -describe('GRID_CONFIGS', () => { - test('every config produces an even number of cards', () => { - GRID_CONFIGS.forEach(([rows, cols]) => { - expect((rows * cols) % 2).toBe(0); - }); +describe('MATCH_SIZE', () => { + test('is 3', () => { + expect(MATCH_SIZE).toBe(3); + }); +}); + +describe('display timing constants', () => { + test('BASE_DISPLAY_MS is 500', () => { + expect(BASE_DISPLAY_MS).toBe(500); + }); + + test('MIN_DISPLAY_MS is 20', () => { + expect(MIN_DISPLAY_MS).toBe(20); + }); + + test('DISPLAY_DECREMENT_MS is a positive number', () => { + expect(DISPLAY_DECREMENT_MS).toBeGreaterThan(0); }); }); @@ -54,7 +67,7 @@ describe('GRID_CONFIGS', () => { describe('initGame', () => { test('resets score to 0', () => { - addCorrectPair(); + addCorrectGroup(); initGame(); expect(getScore()).toBe(0); }); @@ -119,8 +132,8 @@ describe('stopGame', () => { test('includes the current score in the result', () => { startGame(); - addCorrectPair(); - addCorrectPair(); + addCorrectGroup(); + addCorrectGroup(); const result = stopGame(); expect(result.score).toBe(2); }); @@ -136,25 +149,50 @@ describe('stopGame', () => { // ── getGridSize ─────────────────────────────────────────────────────────────── describe('getGridSize', () => { - test('returns rows and cols for level 0', () => { - const { rows, cols } = getGridSize(0); - expect(rows).toBe(GRID_CONFIGS[0][0]); - expect(cols).toBe(GRID_CONFIGS[0][1]); + test('returns 3×3 for level 0', () => { + expect(getGridSize(0)).toEqual({ rows: 3, cols: 3 }); + }); + + test('returns 4×4 for level 1', () => { + expect(getGridSize(1)).toEqual({ rows: 4, cols: 4 }); }); - test('clamps to the last config for very high levels', () => { - const last = GRID_CONFIGS[GRID_CONFIGS.length - 1]; - const { rows, cols } = getGridSize(9999); - expect(rows).toBe(last[0]); - expect(cols).toBe(last[1]); + test('returns 5×5 for level 2', () => { + expect(getGridSize(2)).toEqual({ rows: 5, cols: 5 }); }); - test('returns the correct config for every defined level', () => { - GRID_CONFIGS.forEach(([r, c], i) => { + test('rows always equal cols (square grid)', () => { + for (let i = 0; i < 10; i += 1) { const { rows, cols } = getGridSize(i); - expect(rows).toBe(r); - expect(cols).toBe(c); - }); + expect(rows).toBe(cols); + } + }); + + test('grid grows with each level', () => { + for (let i = 0; i < 9; i += 1) { + expect(getGridSize(i + 1).rows).toBeGreaterThan(getGridSize(i).rows); + } + }); +}); + +// ── getActiveCardCount ──────────────────────────────────────────────────────── + +describe('getActiveCardCount', () => { + test('is always divisible by MATCH_SIZE', () => { + for (let i = 0; i < 10; i += 1) { + expect(getActiveCardCount(i) % MATCH_SIZE).toBe(0); + } + }); + + test('is at most rows×cols', () => { + for (let i = 0; i < 10; i += 1) { + const { rows, cols } = getGridSize(i); + expect(getActiveCardCount(i)).toBeLessThanOrEqual(rows * cols); + } + }); + + test('level 0 (3×3=9) returns 9', () => { + expect(getActiveCardCount(0)).toBe(9); }); }); @@ -172,24 +210,27 @@ describe('getDisplayDurationMs', () => { test('never goes below MIN_DISPLAY_MS', () => { expect(getDisplayDurationMs(9999)).toBe(MIN_DISPLAY_MS); }); + + test('reaches minimum at high levels', () => { + const levelsToMin = Math.ceil((BASE_DISPLAY_MS - MIN_DISPLAY_MS) / DISPLAY_DECREMENT_MS); + expect(getDisplayDurationMs(levelsToMin + 5)).toBe(MIN_DISPLAY_MS); + }); }); // ── generateGrid ────────────────────────────────────────────────────────────── describe('generateGrid', () => { - test('returns the correct number of cards for the level', () => { - const { rows, cols } = getGridSize(0); - const grid = generateGrid(0); - expect(grid.length).toBe(rows * cols); + test('returns getActiveCardCount cards', () => { + expect(generateGrid(0).length).toBe(getActiveCardCount(0)); }); - test('each symbol appears exactly twice', () => { + test('each image appears exactly MATCH_SIZE times', () => { const grid = generateGrid(0); const counts = {}; - grid.forEach(({ symbol }) => { - counts[symbol] = (counts[symbol] || 0) + 1; + grid.forEach(({ image }) => { + counts[image] = (counts[image] || 0) + 1; }); - Object.values(counts).forEach((count) => expect(count).toBe(2)); + Object.values(counts).forEach((count) => expect(count).toBe(MATCH_SIZE)); }); test('all cards start as unmatched', () => { @@ -202,10 +243,17 @@ describe('generateGrid', () => { grid.forEach((card, i) => expect(card.id).toBe(i)); }); - test('produces grids for every defined level', () => { - GRID_CONFIGS.forEach((_, i) => { - const { rows, cols } = getGridSize(i); - expect(generateGrid(i).length).toBe(rows * cols); + test('each card has an image property that is a non-empty string', () => { + const grid = generateGrid(0); + grid.forEach((card) => { + expect(typeof card.image).toBe('string'); + expect(card.image.length).toBeGreaterThan(0); + }); + }); + + test('produces correct card count for several levels', () => { + [0, 1, 2, 3, 4].forEach((lvl) => { + expect(generateGrid(lvl).length).toBe(getActiveCardCount(lvl)); }); }); }); @@ -213,27 +261,40 @@ describe('generateGrid', () => { // ── checkMatch ──────────────────────────────────────────────────────────────── describe('checkMatch', () => { - test('returns true for equal symbols', () => { - expect(checkMatch('★', '★')).toBe(true); + test('returns true when all MATCH_SIZE images are equal', () => { + expect(checkMatch('card-01.svg', 'card-01.svg', 'card-01.svg')).toBe(true); + }); + + test('returns false when any image differs', () => { + expect(checkMatch('card-01.svg', 'card-01.svg', 'card-02.svg')).toBe(false); + }); + + test('returns false when first and last differ', () => { + expect(checkMatch('card-01.svg', 'card-02.svg', 'card-01.svg')).toBe(false); }); - test('returns false for different symbols', () => { - expect(checkMatch('★', '♠')).toBe(false); + test('returns false with fewer than MATCH_SIZE arguments', () => { + expect(checkMatch('card-01.svg', 'card-01.svg')).toBe(false); + }); + + test('returns false with more than MATCH_SIZE arguments all equal', () => { + const args = Array(MATCH_SIZE + 1).fill('card-01.svg'); + expect(checkMatch(...args)).toBe(false); }); }); -// ── addCorrectPair ──────────────────────────────────────────────────────────── +// ── addCorrectGroup ─────────────────────────────────────────────────────────── -describe('addCorrectPair', () => { +describe('addCorrectGroup', () => { test('increments score by 1', () => { - addCorrectPair(); + addCorrectGroup(); expect(getScore()).toBe(1); }); test('accumulates across multiple calls', () => { - addCorrectPair(); - addCorrectPair(); - addCorrectPair(); + addCorrectGroup(); + addCorrectGroup(); + addCorrectGroup(); expect(getScore()).toBe(3); }); }); @@ -295,3 +356,5 @@ describe('isRunning', () => { expect(isRunning()).toBe(false); }); }); + + diff --git a/app/games/high-speed-memory/tests/index.test.js b/app/games/high-speed-memory/tests/index.test.js index 77c35cd..155df4a 100644 --- a/app/games/high-speed-memory/tests/index.test.js +++ b/app/games/high-speed-memory/tests/index.test.js @@ -2,24 +2,33 @@ import { jest, describe, test, expect, beforeEach, afterEach } from '@jest/globa // Mock game.js so index.js can be tested in isolation. jest.unstable_mockModule('../game.js', () => ({ - SYMBOLS: ['★', '♠', '♥', '♦', '♣', '☀', '☽', '✿', '♪', '✈', '⚽', '🎯', '🔔', '🌊', '🍀', '💎'], - GRID_CONFIGS: [[2, 2], [2, 3]], - BASE_DISPLAY_MS: 3000, - DISPLAY_DECREMENT_MS: 200, - MIN_DISPLAY_MS: 800, + CARD_IMAGES: [ + 'card-01.svg', 'card-02.svg', 'card-03.svg', + 'card-04.svg', 'card-05.svg', 'card-06.svg', + ], + MATCH_SIZE: 3, + BASE_DISPLAY_MS: 500, + DISPLAY_DECREMENT_MS: 24, + MIN_DISPLAY_MS: 20, initGame: jest.fn(), startGame: jest.fn(), stopGame: jest.fn(() => ({ score: 5, level: 2, roundsCompleted: 2, duration: 12000 })), - getGridSize: jest.fn(() => ({ rows: 2, cols: 2 })), - getDisplayDurationMs: jest.fn(() => 3000), + getGridSize: jest.fn(() => ({ rows: 3, cols: 3 })), + getActiveCardCount: jest.fn(() => 9), + getDisplayDurationMs: jest.fn(() => 500), generateGrid: jest.fn(() => [ - { id: 0, symbol: '★', matched: false }, - { id: 1, symbol: '♠', matched: false }, - { id: 2, symbol: '★', matched: false }, - { id: 3, symbol: '♠', matched: false }, + { id: 0, image: 'card-01.svg', matched: false }, + { id: 1, image: 'card-02.svg', matched: false }, + { id: 2, image: 'card-03.svg', matched: false }, + { id: 3, image: 'card-01.svg', matched: false }, + { id: 4, image: 'card-02.svg', matched: false }, + { id: 5, image: 'card-03.svg', matched: false }, + { id: 6, image: 'card-01.svg', matched: false }, + { id: 7, image: 'card-02.svg', matched: false }, + { id: 8, image: 'card-03.svg', matched: false }, ]), - checkMatch: jest.fn((a, b) => a === b), - addCorrectPair: jest.fn(), + checkMatch: jest.fn((a, b, c) => a === b && b === c), + addCorrectGroup: jest.fn(), completeRound: jest.fn(), getScore: jest.fn(() => 5), getLevel: jest.fn(() => 2), @@ -32,7 +41,7 @@ const plugin = pluginModule.default; const { announce, updateStats, - updatePairsDisplay, + updateGroupsDisplay, renderGrid, hideCardEl, revealCardEl, @@ -41,6 +50,7 @@ const { hideAllCards, startRound, handleCardClick, + playWrongSound, } = pluginModule; const gameMock = await import('../game.js'); @@ -60,8 +70,8 @@ function buildContainer() {
0 1 - 0 - 0 + 0 + 0
0 @@ -174,28 +184,39 @@ describe('stop', () => { }); test('clears pending flip-back timer on stop', () => { - // Release the flip lock by running the reveal timer - jest.runAllTimers(); - // Create a non-matching flip to set the flip-back timer - handleCardClick(0); // flip card 0 (★) - handleCardClick(1); // flip card 1 (♠) — no match, flip-back timer pending - // stop() should clear the pending timer without throwing + jest.runAllTimers(); // hide cards (release flip lock) + handleCardClick(0); + handleCardClick(1); + handleCardClick(2); // wrong group (0+1+2 = card-01+card-02+card-03 — no match) expect(() => plugin.stop()).not.toThrow(); }); - test('invokes window.api progress save when api is available', async () => { - const mockApi = { invoke: jest.fn().mockResolvedValue(undefined) }; + test('invokes window.api.invoke with correct progress:save format', async () => { + const mockApi = { + invoke: jest.fn() + .mockResolvedValueOnce({ playerId: 'default', games: {} }) // progress:load + .mockResolvedValueOnce(undefined), // progress:save + }; globalThis.window = globalThis.window || {}; const originalApi = globalThis.window.api; globalThis.window.api = mockApi; plugin.stop(); - + await Promise.resolve(); await Promise.resolve(); expect(mockApi.invoke).toHaveBeenCalledWith( 'progress:save', - expect.objectContaining({ gameId: 'high-speed-memory' }), + expect.objectContaining({ + playerId: 'default', + data: expect.objectContaining({ + games: expect.objectContaining({ + 'high-speed-memory': expect.objectContaining({ + sessionsPlayed: expect.any(Number), + }), + }), + }), + }), ); globalThis.window.api = originalApi; }); @@ -245,16 +266,14 @@ describe('reset', () => { }); test('clears pending hide timer on reset', () => { - // startRound creates a hide timer; reset should clear it expect(() => plugin.reset()).not.toThrow(); }); test('clears pending flip-back timer on reset', () => { - // Release the flip lock by running the reveal timer - jest.runAllTimers(); - // Create a non-matching flip to create a pending flip-back timer + jest.runAllTimers(); // release flip lock handleCardClick(0); - handleCardClick(1); // no match, flip-back timer pending + handleCardClick(1); + handleCardClick(2); // trigger no-match flip-back timer expect(() => plugin.reset()).not.toThrow(); }); }); @@ -267,7 +286,7 @@ describe('play again button', () => { const container = buildContainer(); plugin.init(container); plugin.start(); - plugin.stop(); // show end panel + plugin.stop(); const playAgainBtn = container.querySelector('#hsm-play-again-btn'); playAgainBtn.click(); @@ -277,6 +296,56 @@ describe('play again button', () => { }); }); +// ── playWrongSound ──────────────────────────────────────────────────────────── + +describe('playWrongSound', () => { + test('does not throw when AudioContext is unavailable', () => { + expect(() => playWrongSound()).not.toThrow(); + }); + + test('creates and plays an oscillator when AudioContext is available', () => { + const mockOsc = { + connect: jest.fn(), + type: '', + frequency: { setValueAtTime: jest.fn() }, + gain: { setValueAtTime: jest.fn(), exponentialRampToValueAtTime: jest.fn() }, + start: jest.fn(), + stop: jest.fn(), + onended: null, + }; + const mockGainNode = { + connect: jest.fn(), + gain: { setValueAtTime: jest.fn(), exponentialRampToValueAtTime: jest.fn() }, + }; + const mockCtx = { + createOscillator: jest.fn(() => mockOsc), + createGain: jest.fn(() => mockGainNode), + destination: {}, + currentTime: 0, + close: jest.fn().mockResolvedValue(undefined), + }; + const OriginalAudioContext = globalThis.AudioContext; + globalThis.AudioContext = jest.fn(() => mockCtx); + + expect(() => playWrongSound()).not.toThrow(); + expect(mockOsc.start).toHaveBeenCalled(); + + // Trigger the onended callback to cover the close() branch + if (mockOsc.onended) mockOsc.onended(); + + globalThis.AudioContext = OriginalAudioContext; + }); + + test('swallows errors thrown by the audio context', () => { + const OriginalAudioContext = globalThis.AudioContext; + globalThis.AudioContext = jest.fn(() => { throw new Error('Audio unavailable'); }); + + expect(() => playWrongSound()).not.toThrow(); + + globalThis.AudioContext = OriginalAudioContext; + }); +}); + // ── announce ────────────────────────────────────────────────────────────────── describe('announce', () => { @@ -310,19 +379,19 @@ describe('updateStats', () => { }); }); -// ── updatePairsDisplay ──────────────────────────────────────────────────────── +// ── updateGroupsDisplay ─────────────────────────────────────────────────────── -describe('updatePairsDisplay', () => { - test('does not throw when pairs element is absent', () => { +describe('updateGroupsDisplay', () => { + test('does not throw when groups element is absent', () => { plugin.init(document.createElement('div')); - expect(() => updatePairsDisplay()).not.toThrow(); + expect(() => updateGroupsDisplay()).not.toThrow(); }); - test('updates pairs found element', () => { + test('updates groups-found element', () => { const container = buildContainer(); plugin.init(container); - updatePairsDisplay(); - expect(container.querySelector('#hsm-pairs-found').textContent).toBe('0'); + updateGroupsDisplay(); + expect(container.querySelector('#hsm-groups-found').textContent).toBe('0'); }); }); @@ -335,7 +404,23 @@ describe('renderGrid', () => { plugin.init(container); startRound(); const buttons = container.querySelectorAll('#hsm-grid button'); - expect(buttons.length).toBe(4); + expect(buttons.length).toBe(9); // 3×3 mock grid + jest.useRealTimers(); + }); + + test('renders empty placeholder cells when grid is not fully divisible by MATCH_SIZE', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + // startRound sets _roundGrid to 9 cards via the mock + startRound(); + // Override getGridSize for this renderGrid call to simulate a 4×4 grid (16 cells, 9 active) + gameMock.getGridSize.mockReturnValueOnce({ rows: 4, cols: 4 }); + renderGrid(); + // Should have 9 card buttons + 7 empty placeholder divs = 16 children + const grid = container.querySelector('#hsm-grid'); + const empties = grid.querySelectorAll('.hsm-card--empty'); + expect(empties.length).toBe(7); jest.useRealTimers(); }); @@ -354,6 +439,16 @@ describe('renderGrid', () => { jest.useRealTimers(); }); + test('each card button contains an img element', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + const btn = container.querySelector('[data-id="0"]'); + expect(btn.querySelector('img')).not.toBeNull(); + jest.useRealTimers(); + }); + test('pressing Enter on a card triggers handleCardClick', () => { jest.useFakeTimers(); const container = buildContainer(); @@ -363,7 +458,6 @@ describe('renderGrid', () => { const btn = container.querySelector('[data-id="0"]'); btn.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true })); - // Card should now be revealed expect(btn.classList.contains('hsm-card--revealed')).toBe(true); jest.useRealTimers(); }); @@ -373,7 +467,7 @@ describe('renderGrid', () => { const container = buildContainer(); plugin.init(container); startRound(); - jest.runAllTimers(); // hide cards + jest.runAllTimers(); const btn = container.querySelector('[data-id="0"]'); btn.dispatchEvent(new KeyboardEvent('keydown', { key: ' ', bubbles: true })); @@ -381,16 +475,15 @@ describe('renderGrid', () => { jest.useRealTimers(); }); - test('pressing other keys on a card does not trigger handleCardClick', () => { + test('pressing other keys does not trigger handleCardClick', () => { jest.useFakeTimers(); const container = buildContainer(); plugin.init(container); startRound(); - jest.runAllTimers(); // hide cards + jest.runAllTimers(); const btn = container.querySelector('[data-id="0"]'); btn.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', bubbles: true })); - // Card should remain hidden (not revealed) expect(btn.classList.contains('hsm-card--revealed')).toBe(false); jest.useRealTimers(); }); @@ -419,11 +512,17 @@ describe('card element manipulation', () => { expect(btn.classList.contains('hsm-card--revealed')).toBe(false); }); - test('revealCardEl adds revealed class and sets textContent', () => { + test('revealCardEl adds revealed class', () => { const btn = container.querySelector('[data-id="0"]'); - revealCardEl(0, '★'); + revealCardEl(0, 'card-01.svg'); expect(btn.classList.contains('hsm-card--revealed')).toBe(true); - expect(btn.textContent).toBe('★'); + }); + + test('revealCardEl updates img src', () => { + const btn = container.querySelector('[data-id="0"]'); + revealCardEl(0, 'card-01.svg'); + const img = btn.querySelector('img'); + expect(img.src).toContain('card-01.svg'); }); test('markCardMatched adds matched class and disables button', () => { @@ -444,7 +543,7 @@ describe('card element manipulation', () => { }); test('revealCardEl does not throw for unknown card id', () => { - expect(() => revealCardEl(9999, '?')).not.toThrow(); + expect(() => revealCardEl(9999, 'card-01.svg')).not.toThrow(); }); test('markCardMatched does not throw for unknown card id', () => { @@ -459,15 +558,13 @@ describe('card element manipulation', () => { // ── hideAllCards ────────────────────────────────────────────────────────────── describe('hideAllCards', () => { - test('hides the countdown and un-matched cards', () => { + test('hides the countdown banner', () => { jest.useFakeTimers(); const container = buildContainer(); plugin.init(container); startRound(); - hideAllCards(); - const countdown = container.querySelector('#hsm-countdown'); - expect(countdown.hidden).toBe(true); + expect(container.querySelector('#hsm-countdown').hidden).toBe(true); jest.useRealTimers(); }); @@ -485,8 +582,7 @@ describe('startRound', () => { const container = buildContainer(); plugin.init(container); startRound(); - const buttons = container.querySelectorAll('#hsm-grid button'); - expect(buttons.length).toBeGreaterThan(0); + expect(container.querySelectorAll('#hsm-grid button').length).toBeGreaterThan(0); jest.useRealTimers(); }); @@ -521,66 +617,82 @@ describe('handleCardClick', () => { jest.useRealTimers(); }); - test('ignores clicks on matched cards', () => { + test('ignores clicks when flip lock is active', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); // flip lock active during reveal + expect(() => handleCardClick(0)).not.toThrow(); + }); + + test('ignores clicking the same card twice', () => { const container = buildContainer(); plugin.init(container); startRound(); - jest.runAllTimers(); // hide cards - // Match cards 0 and 2 (both ★) + jest.runAllTimers(); // release flip lock handleCardClick(0); - handleCardClick(2); - jest.runAllTimers(); - // clicking a matched card again should be a no-op expect(() => handleCardClick(0)).not.toThrow(); }); - test('ignores the same card being clicked twice', () => { + test('ignores clicks on matched cards', () => { const container = buildContainer(); plugin.init(container); startRound(); - jest.runAllTimers(); // hide cards + jest.runAllTimers(); // release flip lock + // Match a group: cards 0, 3, 6 all have 'card-01.svg' handleCardClick(0); - expect(() => handleCardClick(0)).not.toThrow(); + handleCardClick(3); + handleCardClick(6); // triggers match + jest.runAllTimers(); + expect(() => handleCardClick(0)).not.toThrow(); // matched card — ignored }); - test('flips non-matching pair back after delay', () => { + test('marks wrong group with wrong class and calls playWrongSound', () => { const container = buildContainer(); plugin.init(container); startRound(); - jest.runAllTimers(); // hide cards - // Cards 0 ('★') and 1 ('♠') do NOT match + jest.runAllTimers(); // release flip lock + // Cards 0 (card-01), 1 (card-02), 2 (card-03) — no match handleCardClick(0); handleCardClick(1); + handleCardClick(2); const btn0 = container.querySelector('[data-id="0"]'); expect(btn0.classList.contains('hsm-card--wrong')).toBe(true); - jest.runAllTimers(); // trigger flip-back - expect(btn0.classList.contains('hsm-card--revealed')).toBe(false); }); - test('does nothing when flip lock is active', () => { + test('flips wrong group back after delay', () => { const container = buildContainer(); plugin.init(container); - startRound(); // flip lock is active during reveal phase - expect(() => handleCardClick(0)).not.toThrow(); + startRound(); + jest.runAllTimers(); // release flip lock + handleCardClick(0); + handleCardClick(1); + handleCardClick(2); // no match + const btn0 = container.querySelector('[data-id="0"]'); + jest.runAllTimers(); // trigger flip-back + expect(btn0.classList.contains('hsm-card--revealed')).toBe(false); }); - test('advances to next round when all pairs matched', () => { + test('advances to next round when all groups matched', () => { const container = buildContainer(); plugin.init(container); startRound(); - jest.runAllTimers(); // hide cards + jest.runAllTimers(); // release flip lock - // Match all pairs: (0,★)+(2,★) then (1,♠)+(3,♠) + // Match group 1: cards 0,3,6 → card-01.svg handleCardClick(0); - handleCardClick(2); // match ★ — pairsFound = 1 + handleCardClick(3); + handleCardClick(6); + // Match group 2: cards 1,4,7 → card-02.svg handleCardClick(1); - handleCardClick(3); // match ♠ — pairsFound = 2, triggers onRoundComplete + handleCardClick(4); + handleCardClick(7); + // Match group 3: cards 2,5,8 → card-03.svg → triggers onRoundComplete + handleCardClick(2); + handleCardClick(5); + handleCardClick(8); - // completeRound should have been called expect(gameMock.completeRound).toHaveBeenCalled(); - - // After the inter-round delay, startRound fires again - jest.runAllTimers(); + jest.runAllTimers(); // inter-round delay }); }); From ce975baef4a102bb6755c9adc2b0ecba7bced9a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:21:19 +0000 Subject: [PATCH 06/15] fix: address code review - use window.webkitAudioContext, remove trailing blank lines Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/index.js | 4 +--- app/games/high-speed-memory/style.css | 1 - app/games/high-speed-memory/tests/game.test.js | 2 -- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js index 370b3f7..cffec43 100644 --- a/app/games/high-speed-memory/index.js +++ b/app/games/high-speed-memory/index.js @@ -120,8 +120,7 @@ let _hideTimer = null; */ export function playWrongSound() { const AudioCtx = (typeof AudioContext !== 'undefined' && AudioContext) - // eslint-disable-next-line no-undef - || (typeof webkitAudioContext !== 'undefined' && webkitAudioContext) + || (typeof window !== 'undefined' && window.webkitAudioContext) || null; if (!AudioCtx) return; try { @@ -553,4 +552,3 @@ export default { stop, reset, }; - diff --git a/app/games/high-speed-memory/style.css b/app/games/high-speed-memory/style.css index 5db7ff0..b4e473e 100644 --- a/app/games/high-speed-memory/style.css +++ b/app/games/high-speed-memory/style.css @@ -260,4 +260,3 @@ [hidden] { display: none !important; } - diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js index 9b0a9be..d2dd7c2 100644 --- a/app/games/high-speed-memory/tests/game.test.js +++ b/app/games/high-speed-memory/tests/game.test.js @@ -356,5 +356,3 @@ describe('isRunning', () => { expect(isRunning()).toBe(false); }); }); - - From 52e081af837b9d283f8e7629c3fa94eda8915425 Mon Sep 17 00:00:00 2001 From: Aaron Crosman Date: Tue, 17 Mar 2026 22:35:22 -0400 Subject: [PATCH 07/15] Adding AI generated memory images --- .../high-speed-memory/images/Distractor1.jpg | Bin 0 -> 93499 bytes .../high-speed-memory/images/Distractor2.jpg | Bin 0 -> 71898 bytes app/games/high-speed-memory/images/Primary.jpg | Bin 0 -> 97955 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/games/high-speed-memory/images/Distractor1.jpg create mode 100644 app/games/high-speed-memory/images/Distractor2.jpg create mode 100644 app/games/high-speed-memory/images/Primary.jpg diff --git a/app/games/high-speed-memory/images/Distractor1.jpg b/app/games/high-speed-memory/images/Distractor1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7dc47dec526638a1d5abe7d3a23130e891a34b4 GIT binary patch literal 93499 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%0DRW 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�XYQ6$4Ne_{=><4a?H@V~`a%l_QC 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%0Dgs?3l!rOC*c@M4q1Wn2RbH?d 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%0DvmOy#?){L(&h$J0I)55$~j4U@m=M!2+ zt95Xy4cz0jkf`4wPeGmc^sKKJ+|eALlWNaG)HRFIClVIFxqkFkw-RPGTyD)891-P` zYRK|g*tcPIbK3Sx%+{9SVnp`~jD1a1+fl!`f=g{WXVWa)gK>W;%+uwt2=dQCjr}Wb z+S5z1F+?G_xVU0OP%N35$^1t-7A$7$Q%1T>Gwia=)1&l@9 zf-%Y$VV;|B>MIBRrb`Cpoi!PylL4CU<1Pj~7w$wo$I`X+EoV&OtEEkL<``}ne$K|o zbF^xIn0~Bky{2)k&lBItCl2W%OGIu~o=)shxbr5p3@~bw zFqTQMulDBKx?9t=J1YBBf?7jqr~JPRX>eOx5KNaBG7yjJ=I8XN{VacByt4b7Hafl4 zv!`t&*H2hyW;x$X5y9N#7Fz+f|MmvYQLh=Y_Lt!e2sGO`#z2k`T(7ZiP=1Dmj-KeC`i`lE!}j*^uuB_#Y93LT z)ZWJdUtn;4hc$fC&GLxd8fgJzfpcjL+j!-Zr@c|(vel)TB-MDTeKjV>EGYs5zS}Dn zKc!4*{12z<62~OGL9F(O;}TsX#t*0g6n%3_SgrO8EhDMhUFq7I^55I2a-mvS6>^^J z4sq|ltxws^G@A_DPdwJhc65~UAoC%!p1u`A({!y%PnIaosbi=r=dv!$ua9CtZ_1?a zEiNr1FBy^xfs6>{z+>ofgY0VDIGkOXa>^{6x|6q$wM*4ms&Ik+M#&Uh|cc^_g;$55R?IaV* zkj6QA7G6hIKZiT19$DJGE{7gWiqAc*lpyQb-faG7Nn3}zHad=H4vjjPUNr;m5^_Nv zV2ZNooLsFUg@fha1$if&zcAkgPk0b^^2K?K{6h|T;@0(jK3-zwZUi?2*C9ag^um0mYVAWCM;=m(J(&;0yGuEQcW%(i>JKaJ8ONv?4ZlJ+ zt!Ma|qutEPEE0DOgV>_EK6&LnT?pE|KYj6b1pdzI?8$&jz0-Ifx(A5&-k`3&BkNZ| z4utP!8Gp3hSI;=DP{$|HmQsoDJ#XSy3+cSAb!-wTSDGfvL_z)&owHp30ABr}csouq z3k#VimM{m)eey~0=U$&t^{*FSYkIu#%NDPzO?HVOl0;`>9gmLZ%f_Sbb@ONew}vzl zp(P5A@E$qp4QYlZy_8C6^p9Xm`$;28MxUX)u;gLoxe7*q2^iR)3TZ!Rv?M6g;8*4< z!DlQz#>1zVp|2nR0NO5BgmbiJOe)ATzWWv(FnVUDbp3MTOWEPHg+68=W>skhZWTw} z-)?X^d4X1K{E*=F6o0fG)T|U~mai(tM1V?DnSt1kExam94~?>1OcpIVG+7ZuU8Aub zq5LG{Z1@WD>>Na1-V2*iG`4pzwqXaFSzCC;9V&2Gmr7dm3Hfb3B1EMQ>gea&4gJ|SD%eDpdqY1U@i z(ras5XrLqJCXGX}S0|SatCEa+v7!DonD*9yV5183Y}OJBm!zK-0Ck;90~m z-d}u#OMPn!McDSX@1EvK(7b^GCmVX#FZiqRk4@lBI$qLdHzW|KgK~bf4U#_>z9ZRiHw<0Q&azx` za>oj{d6@LC0C6U|_tzJ9_wo+X>O&;1PE|?p^CqW0Abd{MJ|Jo)ZBg+8F)0e8vyaA^qo$E(E+)G@p2wiac>Y!2b&K@Uw8`$KAPA71 z>*s&Q?m2EI;;lmSv}T6cj4=3)z2ZK<(wba}oc8MTw$vDBnP6Rqned`j7O*|ctIZ^z za8!Pjq@k8=yGF@Al_@0VcpgBV*vE99m2J@zTSb^X_AeA*{m9Ad>s=p*_)*QmUF#Ae zp&-X?86YY1BgFdj6~*kerm)ovmW>n6(qpxK#C{uRZ>@K}7q}X-wY|IsNjo62$op;L z8^n{;_yM(Xe70G_KObjn#bSiz^7Kt;R|ewd-aBa3VO3>TbnnWmk(6KeaSiwC+hf)r ziLIvMeNr1)5Xob1z{wKicAM<2;ev6I{5j27SF_RPHumn%d2}%Dpcg!&ucD2y&~3Ft zHO0rym=h~+0+yA5>PO)R*KTG$72@RXO{3XGe0d`HubLjuNYLGrwk2hk7$6_Ksxj*!^CuV{fO(3PYPllQz731pQz}Q;yLJ{Mvx-dPzDDQJ z083-}y!t{tz?)h)>P3v_V7WftwQdz`t1C#6QxtYGM!Aq%Mmd6dV2m|b*Fu$E#zgKFooBW*4-B!%x+k8<~Z1R z4|=pqW7*n7BpmZy5Loi`Eai{sfzzNqHI;4onVoSWMHv~!0rk(BJNN)AdS(eDfN@_4 z-0+z#i-{ zI`3Y8_)qb&84^7&h~%2y?NgB+2N5L0%wTo%9+lp0uI(?aR9a6jVB-vs!3z&uvCp5r z`wGuEQ#50mW^2TYP(f*JD0@|4Ze1Haw4cH}Umkl8JPO06tXjnKnVRi1sw?lvFVWfWH8BZp&v6uUo}$<8Wm+Imh=@7WS>^(@?$(%!#Jj zFi<6&a+wd3L=I2Xlj&F!SDM~f`&b36j6%Z^PTuLpH|33csqS;PTFCZydX&xcO!l!d zo@kbD_KAPLC*fb^TxZg$mL$vLk&P|PP)uXC23w!R0xYtRKIrbo20sz{R;9+79j>Pa zp{ZNj{_c7H{L2xs^BUK;Pq-MB>O}FeVCyFH}m0`DDRUSJw3lr=C_3Kgb zE!=W7#q&p}E1V=zIWo!NmN_rs(lEnEa z-`k}qg|wGFg|u=!&H$0!KHQHH-pEDzA7R#_E_6*tQ`8b$i`n#hL|hdZTd9{F72hoy z`YNZXt-A|rEjHdueF8HgNcfg=>{eFr=a~1TZwxMKxnL}gXZIxUWwx{a-NnSg&oc9# zMPsn-9GthYINPN}TxmCY{ldw8DeM;pJ98coWAPR7#s)G1j<`K*drr2r?fzo!M!l9N zJ<)+2TYKStyVRY%_?}bpQ7ptZ2}S}mIQ}E|&$hy{Wx-t@`gnfvYl`^RPQtWv<2EZGd@dfQLB zAWeNNf@K}n*_zxQt+#izBVal&hH;vZwwgOQE@rcm7$%7V_L4Vp)jyfDmwa#Iy=Rib zZDUil({$A>97TkS&O~uzW?*`|ejNMMmEMDF^1}taqE8jJ>6{27Z#E~X&1K1f%d=E9 z3MCbETRW?{i|NBrdye$(#ethXGBLm#bWzY$mDT;em2DlCpKA=#fP; zA-!0x^y?^@AeoG;xNgP~_m7?d+6uEM>v?zZ5whL@RQ&NpYrE`OCrg-^k43}EUPz3RX zVX){!HiZYu-8zMe;`Tk%W2jS(U!XN7qVVp!ZDL=G^-C!2m3f_D`xuDvXOZ!f zR>MJlzw}oMM08QTpx&8qH;$xVMlKp9`a{7 zEBV&Q;?W1n%?#44u*gK5t}?7QNfXHDAM~mqzC$KvN8Nct4!`xLj`5S7Vf&JdFdJb1 z02LxfM6=@AXUt+w%3F#4Zq``b#%%6E&U5@M-X3_Z_2VgSt=d^sA}}KE2*2DvK19(j z*zpWK>y}5UJYkEmGGM7kD9#_wq9$#8i zO3z1dzs37KKI+!;-s4t^&TFXL^Ifrp1nLr7cMNh7SQZC-S47f2DgiD0R`Vt7no>QC z+A}X<70#b5`*O-oSj49xf$1UluOLUol1l`<=aOrycw%V^?CPfjoB4)%k1Ddk#P*ZH z9D0?jT=sVf+azzyvTOsG#@xKamu{P4lR?4n&xc%Qw;F_;HGeA0ePaZ9c+tBxld?vV zHDX9@m@?q~-1$}gwyy*HI{1?|nXhPJ96UVL_@I|EJ*X?RpdEP+@hjlz=)W6`%2 zpVU-#xp3C{bj=z{?aFW>8E>Tkaxabl02yE5_LS&MA2A@pc5`6o*oyHd6Y-7L6KXPF zYqCh(%vijq3J21!{{SELYwP|bc$@dj_wcxjBh(TFajTi;Y>7dP4vyV3pFhNXwyDs& z15(w%VI7!hre++4iB&*)ZBVgav~!qrqwg`tnW+J$-D(#N%WleI zkD5l1?t}QGJrsI%HE`hHf|~CX-p3Y~1n@QMs-t#TxSJznMLR^e8Owei@$jPABv9b7 zztpuPwzY`e-%H&Qmd9qkYxP2Mq{Uk`Jh@X8Bu@V5O)Bb zqE8Tc$lOFoWOVMJ}p-_mN z>M%--0!amr*8|upfv}|L8#TCphwb!xW$Z2Ewqk)2BTz zYake;-M&PS>M=wGFrosG#{!iul=Q$ZGrEc^*%M| z587{y#<|7~WgMK)>8q9ip;|O-1NVg9->N!*kZQb=^WMf|hpp?yq=*)YN48Clsis+Q@@ZUPmZneDi^l z52vrMg?caHPY_w@dMRa&HDipEyD>j>XR9&&0UayOmo|xN;Rkw0ZHHfa=pPLAS*|#W z&feUWirMmV0R{g66MZvW?gIUu8@UtQU0nBBS8l!=eFx{|xx=Kr z;Eox20x>Nj4TEF<0JMIlwB?oFXpnb%W(uSZ@IrB)?>G6>hO4N)lWR0~NfX~NNZ7C~ z92p(d1FH}RLFwmSBP1Gp9?lcAXzSM&dOC=h86ENy8yPk^1JiBKt_4HfLUi3WX1{(_ zkwaawj5mAk#J|jNqtF56QdW9oIyj3^)}(u_LhK&OH^E}L+nd07;A}iMt$k^pYtw@t zE|@z;R@^krvVrVK6&R{?P0H1fnx3#UjTNSN5;-mL5Q%yTF|;atmpIR%sxF^nGhIii zYXzh+nXlz6!+p789+?1~d)1#)vXc8yw6#%)Y=nv4IqfbaJgn#ZOy|%gVb=8ZOBuzp z6WT-BC=1jcRR`&X{cCm_kNBA~Ted>zLP_l)lHigq1;ymJIVfddqpzX-sIDUeOL-AO zvAJTz^#>r3N9pvbEh-S^=@g73m{CaEl^1dA-ZihOs`hv5&6Y_S*yCl(F2sFWx_BjW zIk}_p8WO6p+sT#!2pFgs?;$52m;>urR~OM*yAW1;`9p!zvr=8YnMD+@WER?r%sa}r zTdw`|4haMFt)!3S?JVt~MGY5d9Y*`(1pffV&0TC=9E_w*%pvYv^2l8eAOPc>kO9Zn zZ%ylJOCxWmu$c#F(g27_IV?cNJ#wkHk*(-#%ihHyV8vyXh7NiL$;YWU{HtbLV0A9l zd#i0C_GbebjxyNWu33Stv1U0CnuWj1$@0o#MYmksKQ0wcNZ+X^nTmMKtnNz0iZZJ#9f06+3OZC2FNVzfaDo_UB_WPiPvAZ7RJ6>)*)eGM8~LvcBb zCp>U~%8YZr@krl|&c}0s5fwn9>h|U;zfK7HEgC874 z=VhRAeaW}E1TCzHg(A4e_c!f5JbXN=I!)d!lB)^+Jb|6Jz}xC8 z&s=Tr`tOG?%Fh&?i?(2&vnkF8jyi_)`qbLAMOPS7QO?=O=NpZr+5Gnx;@KjPIgWOF3Qhctx*lysXkp zB9*y+g+}0elH1lrw}5tWSnTKM&@}RAyVRQ%}0*W$LY2zw+kkwZ$V{mr>bjKr!u)Df`y4|>@7 z7PT%lg0P1fF+)2%lIQs3>Id?v#YM!P<_+Yg#w8cuCk#?H9bNKSygBib$N3d;>sVxg z^#tuN0f;nXluo4?SNnkXSKRMLW`fWgtuEFkIOR^w2?{^Hdi^jw&1AQR;$>;B-3u-q zVHl1yK5pl$dvvOtOCuu$nq{;Ii2U~i44{<&MFi)$0`2TuCbCIqCEEqml3ROh7Z#B? zGRnC8Y(DDxc=}fItX6Uet|WP7eby^=J^uhgM(5n(np+K5Rs|z4X;$tA{J_fC^Y9-` znx=T~g4pCDq_dXx_vWNj5!)b&7-Ex@Kss_Nj)lKG1JHHa7U#Ar62?*$B5BtEMnCf7 z@+Uof1xQ)w)|L@1y}vVDp<)3%$1Hot9t44mo$*l`&7P^K=EqBZ#y2>SDrBN~oMdn6 zNFMc?cx}=&!#Z5BG>6iyq9X z4mn9kEu@qOlhH}Sj1z;8&aV1Sngw_3~Ph!HssTgU^xl%_ZSo8bwp9TSp|zxOkX;CSIBpKz?JBY<(S$QY|* zg(9hD{F_a0r)lz;8fhA48)3|hbNo5ZKT6cR(e$1n+gj0PzKJ>|@eGI8kdia>u4%!a z4>+fXxVCLqi2fmJ8pKQ+vC`7jB7!h_5=cEOqpuT9r@zdWQk`gcIB3m@Fh@-ukc z{H3oY&Y={LXZtJ5F^_DD=R8(|dDvOQ94gEAt>p$X51OCyt#69o6*S+4dVDXb+UvU1 z*AjB1c2SuMljcst^PUWp@Nsk%B67X944$(%yMQ zwxt}g@2J?1Rjy5`OU)+T=E)wF-@YX17t$HzhE?TLlB*~zK8JeXTB;P(7)TsAJ}ZjR z6-cI1Y_RYSi5=dh9Bcs`!oTnZI%6ZSdqEW7;bj}^&VA8zq%~V%%qZcz^(mGa`G`a$vy_5 zr4OBy?YO8(*<@83^1BS2&f9h-aa!!q|swlE)oJ)s`zxX9SP~ ze-#5VMIk6-IVf<$Bkr8%YLd2?^DM4RMIQ*sk(`YFm8oq2%JZ*vNymjxX__6>pp}i; z2-~`MqJWUmu6O1f+{Qx6%9$aEJ@0+%>Hd^S(yVf_FZ(1zmP3{u!LuJfI{D4;_k^d{ z_|rntV@A#O{4q(&G2AW-lkA|MrF|e68zI7tfb{UA(3`ep9+bNEq$y^QtYb}1NIfV| zr6JLH#tziFA50}T?lZb5x6ywdiYZjkaJ89N%0HeTJdZ0Sc`2vNgUI% za|IqaPZRH4$5Z{Bbd4t68qOK6^_%0_+sizemR4+raymqq@KKz2jMu3iK5x5$zg$+7 zdNfOMB;%X5b>uTK%X0XE<)88tSh_eb2mArC(hAtY9lY&pC)&>O2UM3CX$U`lT#^P( z7ak`y*?4n-bnYLCn$84{=0zy;edY?-<{9y3z%2bv0N4O3#|5lb%gX`;87E=mSwiBA z8IBudf;C7`A}@ffp+Kh;_@pkzrvo&x??sO~5g~x08&b!eKlP>prAn0mAx;G~Js=*D z#VSYrVvr1aQ&ZDZ0Z^W_`KCU!z;8|Jqwzn8lZQA)^5x%`mNI(z3bu{w&Hn(kpB8pH zTzWmb;qN=GgV6_C5Sip&E7hdcuIIa*vn}+^EBWqr{VJKR&eAelL$=%1hf%tWPD$LR z$}#y=1njZ2lSne{(0Nsay3B)NYMyp@j9?ilYO5FYxr?fe7Z&(^X{{YbRUkY7$ouFp~F*BzuVOMyMg zMj7|rayMb?j-FYq`<7W7my%4DU{5#pKo0R9z5v%X;NCSBnsn0^UU{1lf-|uDr|EzP zsjh*f>QU-el9@t)tQ6qngdKjTr`EidvrQ;Tw2xDy)JAC{KUtlVSApdRokJ9e43QcV z+`ii=`p`{r98th#m2*7HB!#~a87=hK*7fF*^IC=7(~kK=5}cp92xmW@2hyw8hD)tH z+_HepE5!;A!yhXk`s5S&RwWBa*yq>?!Ul?E1bnw_@_6$eKy&ZkWA1BHMVWOgc;&+~ z9zA7!mV%cp3QBm{QT9#}%`14vLFo;i?@ zrD}|S%%V~vtQ)XhLM02&4Y6&B?z=j%2mByV>k);vzsUr%kTAH(F}G9hKT6zGjt9Qy z!4gQssMw5^jDPH{Jz8?{JbcZ~^9ZsWY&+*U`Y}IR=;_zU!JY7FO&@KlfOE(Lv0UVm zWQ-5%R^1--iRqc3^io52P$7>&=4<2b1qI}2q7Y1oFz z3f&8jGBMJCy{kExaN}Pxz`DoY=10fmz z0M&}uhgh|SQkqe=g6>cTEMXTjAMZ+X2h`OYf_@}uyiEsfX{cM>2{FwS_Y%#`p9~Bs zZyXV|UsqU$-X|71Pce-0^2$U}#gDy5Xw-*xxSsMkF0NvTCd(230BB*h4gkUf(;3bya^BVM z`J|EwrIGRW_mZlR7jb|`bZyWN3edRJq0=qQ^Ibs{SU73q7SQDMzym))ocY#k4Mbny z$2H8#PU~lF$c#Msn=Oy1%|~GO4aNFSt0s(7gfFaP)dm==+dQ$ijx*ZE7jvAkKGmCq z^vz~%7ASbTRTp>Bp%bo~652pdmO(DZ*ou%zE-d0kOG{XzCzTrN<)m(IyDDe&H6k_H zZ7uPrNgG_qaIr^}1IuBPpRGl~4|_FkB!f=35StaZjhkWG9(O*7nRfb`Xl<@acC#td ztwQ7@pbp#q7=ix)+)uS?-AS(8%4E^LS4+2i38q*K)367820WwuS)n?bMQ({@I>rIz zYpc0?X{A0qs<|ih0;2JfSs5VTye`q3Plnnvj!|={F+DmSQH=X+D{(aVpouQHi&vif z5#8hq6kz!BsL%DPHnG4uzZ7vUnW(Q3>vp<*vj&>R)(GMkKCaD{HFaAU?0K5f!fVNf zF>!M-l1!fu5WknwqVbJn- zYYWa#xB~;~YT<2jJHidzY^{<6YNaviOJcM3W@ZuF7=x=5h~YCaKCEz}lE=>^oE(+T5K01o;!Q1BOIW5h5!nkXl{z1 zJS$t`C&SpjA#knUgR5TJT3KGGOOKWvo3ewFIfsG94Q<=#Ru_#QYj3Gq;O_{yARl}m zIz2+d+e5aH+NHg$U3!^ZihEUw$O=?{5x(cQul*jkL+U9 zH0?u+cuILA<^hP0KIxNIBvjoOyZr`elylE(aHH<2U>k3(RIb)LYodsdTg-F)r#CPB zK~MFqEeC}-s==nW;tf_C>j+ouZepC9i4XI5XBCe6-b+|z2yXd_?)>%67xb$XNNy@$ z5VY9lvolD*mf6H^2tM6ErFox?tbRu1JZxOC=unJ$SE@CKn)1ct)UGTc5T?c@5BiX6 zhH>VNEyb*j1k&6?oG56vKD{=nu87%7;ayYZr$$x^Iv+o3o7HbSbv&oh5OL`WPGhhm-m0Gx_}Fmek<#>s#-VV(Ya*TDL;hxvz~e88 z_WU~|*l_Yib$FXgJB*}f$YZIh5B~s&+V#c9X>oli$@{7>1yxBTl6NPmG)vS}Ms`jU z<2kR0OW8!ZBLwYNNl_eg4TB8&*A(Fy3Qn2G!+BR{vU2vwcRk-4XiUap<DhwG zG1YV4e|952z*k%NHNhIE5NbA7S_PV2UEWF}ff#@}kD2fQWS<}pl?$=-de`<#;K$T> zj`xZ0qvnfBgRr-EInBg_y^m0t{{W0vs@AJN4>&5@;r{>#Y5EQ1 zk0N#+fK{DW&XXb#^{2%UQhX^LsaOI}i18j&f!>(X&L{%)fH97=se$sR&z(h#KyOb= ztszVS<)Q#)mMQ59#Y&YpqyqBurxe~a_{A}gk9u%6rWE*~W75ScQ~;^PH7YI0%H~*Ma{4X#Orb#~$4(IcV%+ z5rLfHj^@3w@dsB;6NWCQk-0#Ol6?TLnp|6|%dYE}*94Y(o0oj!z@5KJoEIW&uiRbY zOfPy?Kb1%87fEd&G?^{rDrxK%)*{#(=kXsps__sm;wbyh)iw*WQVm{f+^Q0hgSVNj z)zdEIh{zk|+ac~@V4Sfr zDn9$M>rpf6Gg~sPltJ;fTDLBzi&J47Mp(D%4P~_97IH|sC)Kv3=AyYJwaM^UI6mU? zM2=b9mkdg$fIi+ryAKBOEIMYK>2V=16Nb-;Y>b?Kwa6`GO%l_P%pPai6;4iSdqT8( zYgry=Ej`bf>6*op63gF4+<88gea_9J@k47XWgt<>a?%1i9#F#r@*k~j%)nU48%yNIU41b}h{Vl$KM~!(EVvAH#qz(B5gy-KXYG(HC8{TPC znV_>sox=YBA31N(5NlULkN0#I_Va)xnF|ynVCBmXuP6TMrA4UzOWc!ubU;13ICfBb zX8B_I8940=XVWFCQt&EW$Qh6OP2|Uy#E_r=0KolfZDWortwvb`c0%GPqsLOQpg+`L zR3@MgWd!IsipcW=pS(hm`s9k}>5LkO!G`K3c`pMq6ek4uG7Lz6^soM^$EdS3CM0!@ zt{a#xd9c}4Jv|WC&Cp9NI^D)!<_L?rcRQ8O{3-g=%A)I05tUITzh@9u8wO~djy(4x z@~)mXb21xJOtD(VA}lhma~RLCUA*vD^`nZ~IR&j3&l; zT;PBK$vy)f8Of))ylZ%#O9&(FLMnX5GC?N_i;n@|2E>p_z|C5jQ#3gfMveL1+Ie!X z7{+)10Cu?Di6<;T8*S2#2#m6lLzm?MlNT_@LaM$XbjHiJ9Nf`l|=5GUzbDZ?s zx~KK_qBb$gBvB--Al=Msl84l&A%3k{R_T=k7$vq@k1Ro=63ZaZM2rwO>*73dSxtb0 zvVB$RtFGF2pfq!X%V=Pvm5Nu=;L^*qCkT`E5 z129$g3!g0XsJN1|(~HGhghyEq$I-C&PT3$OvILv5SVq&=4Zu9N_A8N5jfAh0_mt!Euc&)V85@*wx z?foeWl5p!5_D#)l%w}*h4bEKe(<3YgqNuIwJ$MKJwy>5H{{WQ)1h@BzErI?m{VFEX z^&%`7y0b6Za=OM_AIly{_9RyD)ZJqPn@xd987_{^>71OOa&zfQl?^sL(`vVJ#x7!l z$|8HqeRJA4#`zI00s7Y7op-2RY6W4^=N9oUWWBjOyyy61Q;q$=1J!eO~=sa1+lnW$gUvaiDbGP!#<@t2@};&5?5~^D!^L$ z4q3G^+sMbe7i-9heMvjgaUHW-#=`0eRj*>Tw<@_RB<-d4!t6gf=ie8Gn{STppQhAIN69DdLzeUgF`wH#Au^M5d2q<1c<*(A?4Cge~(TR0UntwpCrrM>RCsY!1HBQG?v zasWLlyA`b5S*OJ|i!su)bvYWQr5D=E{{Zx2d|-bweFX$Z9BFH96hit4w6NI2O?abo z;0IRsqrJG$+Y?^F75vZl8g0~P#|ELlaqyQ9-lfd33;X#tNvl4j1uEr~Wc@IY62}{44s{U){_6Pq)fb6)S`|Wd zdxLt)am(5}a-Z(51z+cT`?wlOZyx$`OBPaMf-g*s%~Umr?JWR(YgMyHbGJRnL#2Q7l<&?SAA-jfE zEVlNL^E8LRb9BeGaXm{*Hg^wga~Xv59zQ>+hN4| zE$Z`IYF301xM$@f^Qtzb!s{t)D5`#|!%|x1;|JRmhr!hNqvC#P>a4IPi+O0D)C57Se^JOUwyASgWn9OUg@gU<{DG zMKpwD{=7wf zS^b|r0b2Yg(jvaqLQljuF!GWIcFH#E8u_`~nY}PJ$v$TIE5k7Ad{@FcP*0fDH7oe; zbqP#Cc_NG%T>$V<6c1YZ06Y8n(4PSyQE}Hbm@d@8eJFtQq#^N4XsAsH5DYp~Zhh#F ztpj^dGWCxtN7kI}j8k=_!`S{=r|C#|QlueM(xpHOoKsWd(t(ZzJ~pOPDGUxl%X43e|E0QrFIrX75Hx|1t zCjx^RHGIOCIIV--1&@HuNs%~b?N!9bN8n4?qHIYb2-Ig8EOA~Rw}D~AlHi|O z^gr!w#Dh}TEcB#uRyH%rJ+>dMd9z%+Bm{uq1HLM8ToJxZ8uqM+=@dW~HCCJd01(ph z7nJn!6|^Fj=Ik?U2Ua7cZcA}#8wkcZhu%JPpT!m~S(i$I5)mZh0F0W_)F!sPkRSxH zJ9lW__H9OWiqQ;q=sxin%{}$aq)H-#4ItR^^{!;w-gRJ-i3axJXE53#^XGRXr4+NQ zE+CEMxSz)ru?kv1S*DSJJylzCS=2>mZr4^2Wt`yw>c*RG@Fg1L+tIXM&l5>*tts(y z(x>#zEmrHdyOb6~vd6wX0IL0z`jLsIzqSmE(Mw{jI%g4DSzG3D6}Cpeca2$G6yH3O z7Ph8qgL|l%xg$K$MB8%Xr330W5l3*=s`F|ZqjISy?ysM5$S#VhHIOLZ$7{Dsg4%aW`_FS-geE!+Z&0HbWjI$ zR!rJd)%!Hz)YD0pJE<8}T~b2V7Y`&uJ_+}8?$sZ2Z_g9kfLz35gOqK){M-BI^A(a^ zSYGiH#QR;+eCSi z&NSrZ9Zuzm{Rh^hA;MhV&og1t;rW;h{m9C$KDqp>N;r}Ra~U$+w7+WXKMM5x@mcN@ z?m^x|9udO$$k^u3um|(4(O!&F`mlEbE`A^{I!tRljIqWepJR7nyPq&vX&& z3Bd6+r5R*wMVW8o?17S41H%wb?|&JdO!yDFnebfJLIu3tq?Z=P;KZf~ix5#VOGw** zyxmDSzyVi!dvuW*qqi=xz`dHP43@#p3v|afdA!cu1!YTUZR2~Jgf~-6pu~*Bkvw}z z9QAfPBp9D}h7@@Z^q8qJFQ2`@l>dHLA9h7+YvfevZE15`>o3mw7x#wpQWb9Wm z$bUdH=qhXOL9%Ubtu%04%C9}f6=W{mtN#EgX3J;MK*vfLE+lp#AeC9z7AXjc&-_HW z!SQXj=~~)#n?*a^-%k=CLOEj{ko3#9+PCJSrIvW7K^3*d%EV6Q-VV(V__4pgF!!ku zzp|hBqA=t$aXb06n{iv+>+z`Acn{Ie5t!6j!tWP zL(boiuvOdp%t`)~AZL>}m*Muc!jA7UCFQFB0Kb8QV1F*7e2KsBF+P*PpfdO zrfw9!n$R)J#~T$7@9X;4N8#Vv2Kw3JgNVLi5nKNNsgnZ&bL&+u3;3_YTvcw8X}4nbI8+&m{m72k=N;U8 z6(3sYmb^t5X1^}zkq}EPaw-gZwsszZqiA% zkFrRY&9RJ{$}C2kY-GMB;h1xoE*q5xvh_7F2BR(YqqUKa2x0s4M~+ZOUisTT!nr=R z@h1NJh{lWX%ZF|_s^umB0BzK}W{%F)bH6>y0vM0sTv0-@bBrb8okxdnKm0y|7u2L2 zma}R(iWSd~DC>_5=Ar%+d_3bT4jj2}iCjk7mZNbga@G-yD9_yvK+ok}9>QzKwI=3! zb1EP+ykzzuZ{o*@r-n7tTwCbyBFyZ0fsed$dgD8NO>v)zwm%Yh zhgP~)*L40G;fq2!q_nv0ZtgnwOLBz_ak8n~)_^uRCx!U?PUBhiKZx9E1=fih6AqfN zq>SYK)5*)+BOVz$*HzberozU@w$*Irjo4-=rSHn)!w5GO9q`xT{l5liHtD0;+)saW zqD#x`r!q^-N8QUG3X|d)Y;12JwE4ShO-Ac}(ZG^&Jk@{9?M{NuTs|gfT4uVduSIF6 zUe0l6XL1C$Qxnq>jPir)xvP0wtx6P|TAh**OD&48B7xzMH_xE0T_b=vD^B9MuJrq8 zWa24u^WVt*tL$*0?d_~u>Dwe+UA7f{d)07oa8nD@^wT3~JH z7O}^6B)J$!)b%@O7$2=_@XrWoTqQiW&&hqNOy%QzVPPco^*%n8vXZPY$dT+^;GVf! zzI-P5L9YB&)JMqM&ugK;*uB*axnzuZtYB{>o=UwuaZ9nCi}pX@S#=FhRpWg{KE?!X zJ59*h0K^kjv982^jFj zWNx$vdQ1c<>4hxOLgZBR)bs%V0F^ELDXIPG41X_LaZO7e{{Tv07mXl%slPg3r2sx@ z=tre2(Lq6H9cvWRtSU>I#dUU;$V;4JsC-$*aaly<$N&S*fF<~ci(;~giI5C>*9`c9 z@w(4ONjqDBxc+M9{{R^NJH@7}!DlCHaQO;>xA(6yYkWz0t=zT7r87wGc2ag&JGp%wpNYR{i@WD_(*X&cosKh9Yp;sBt;^7A_*J*TZ1Cok|%ZG zUO9_Xjxv%43^w02(r&NObcv=1aFycz8@<)O9O_9Hpt3!eHWmK>hu*uj=frD&`zIue zC_K@UJKmM67JK3LWY4B?<~*axpBuHd)IK0<7X+3OFo`^If&TzAT+l|cFWT;0{{ULB z@om#;TCL5?o$e-Q{La-^hT&T8bAXk(bYZSW)e&^tMhF3w_vui2O|&XreMUf8j(JI~ zoqqgWNX9dsQGxGKnhlt{yB{)nvUVA&a=(LR_!rF**DP-Gw)u_`zTPz%CX!rZv{)m~ z*aLIR%pP9agTbZSlYg|a$ZShSV8D#k5Dq9Vob5GN=*YaQu)) zq9|9ULY==_+tRhkH4}3)saYhDF&%J&f6Vl%bw|a(*z06;Dq^l)cu^Ze6E@pj@?EVBRs2&6Z+G5=!(f^duvaSjV_}%_<(Te4U5E81gSKh4XS%oMd0>dc5C`#-llcq^Xw_{L z+S|w;>fyfLMchU_GJH)~kp{`TUd}>oqj1)6fRo6~KGbJDntAWmwk6b&PL||qp^Z#ylcynLu9R_ZPEePo0reVtVpb# zTemK-jK?F6ZpPU|NLS6|Y;yjdg0>+OO({!gV=jcAbo*CNJj(b)^V+pE`$TI_XjVy! z5?NWwi3$8}-UDy)6)9(BDkA*fE$bOOmgp8cc>IPB^=y;nO%ZI(3ryjRH(cX5=d+8n zAdmk5Z07{|g$AUpt z3IX*hFg~q{noCIKfGo|KgNS$}mPK{d?p2$1f~!W^Bva#;IweJWZula&0-uZBGz3H9Ha zL;6;<#@g0UZcv#R@`)yM2|k%Qkmu<_14>u~NI&mrVdmSP<+<`aj!*R?+M^`6XvkZA zO5RL<2C^!jRz@IIg+wo&dsjyf+>G0Zi|5Ojmp_$kb_P5POCqI4!G|wjBFFj<%AW!$ zuLZ`Y#4=l43}Cbp%I)+I^#cr+J3G~>2CH{4Y-ybSQwu+Qb=#Ak9zI59MUn4 z7~1wlJM%Lb^Zo6|&>GSG&wX?lM?JNvQ-(`udI9Eo=iQc=c6k?wei!i%4YM-ACG-I7 z$r)Gtw+HA?wN#qmM#aI5Nh+opBnhH zK)8%*X3tu;LOa(msF754!zcis9Iz+Wq&SPREZ0-jtj6~BP013+ye1NUEH7zet9j={mVFCvK0K(dRsbB9NgX>zi{2jym zSFKn}#Soj>?BwUNf#vOai2fMH#QKqsS||%I59;>ZL!(8h=vLBL>DPmrJBx^lO*lO{ zRPHh}*LvTROVPCH+gI1p7M{^Ei!NmB6VXoG#~xXws9!^;+X-cjppGyjg5DAuO!VqI zp!-z^iu8?3i=8Yqo9EH3HZuIWWz)oyBXx7r(t#D-cjEs568uTxlc0P$jre~}jj?s9 z+(a7Wr%vQ&WY2+YdsN-032B@>lJdx8q-C! zSfrJC?k;zp=H>l*vEH)r2CZjf8b_;H++JKu-iJ&bV)~dWp>!~r1TDm!5%N>=NEL5JG0y1lV0kvzQ3~3E?F$QTb)L5GNkiL!1OGC2=t|>YR6vJ`{T& zC-HqNpz0^Ifzr|`Bn5dRM8M{5g8=P}_>qr8O7_w_M~2lzX5s}BTol|z>7No?Vdeoe zSk4=HrfNDIrY%m^Xn;M}C_=dN2D01EtatI>YVHQoAfG9zp}R+nyF|w(O!$7HwPE;Q zpxi`F{jXs>j(KCZkj4`yWzS8pcc)Y%ltxsHlaKk<+DeK>7oGnAhyHcY-{FRUIi4%6 zL`NQ2fTgdeAYA3kodYZ9;aSKniZO?0jj5 zT1+Utlf4g}6Jwid5@|5xRIx}>p#Z7+Qwn-ODu2$HQlMc2P7l2>9#sC6!pEhIb*Ae` zoKOPTR;BIg+Qv&T>9rl*$hVBKBWmVcb;gnDut?1y0YUMjpjIw6P=U_bEIgFCl$IzHom&m@659_mp4}p?n&|jyN|-Jfj1hgv0m%(l1>UkjD`30tFOWD z+4kQ`?CvijHy3OHGCK73@~>2IhXBWDh*~fJ9#tsgis#u0W^aYjT;Pv}5ZS{L#|o%i zY!?;P^u8H_(ls25u=1%ZJw7``#9#~$D%=AdDs7a}uDX06W08L<*1XVdu8@MDXVRpH z)|?ztp`62uJ{v)(!6L~DIB!bxzr|i2y5PGKkh`t4j2D!jyPEd9BFHd6Ij=GP*0Mus zr9lwDd1p{Qo0@~g8A(dHE{1u=E;qwGi>yn9VhG3w9+g&(0&jl(*2YHJ2xnI7)vLV>Pp+$)!eCX}RuhLFnBDMBQK9 zS{_?|TZi%@vuV2Pp(}Z75tG0w?NCWI!6{mNlN#0BI*C@)4`*hB`!zjlE|Ga9(8iT* z91t$XLN{UOT2N@usY)(&IT0Znh?b@oQid6$g4#37-~hlC(8QM0otgZsvgr_`%z@di zAI}?5>pHczkg{^9GPi<^u{D;PA@=*Pd?joI*w3?($N|Hou$8Bz@skdr!kc_(@Gg~^gy4J9%wO}qT_EDd>gQY{r z^4_i-_Gxz^B=kJBlIqju^$5~6=@?!A01DD^vF@T_byl#_podN%%{O%%^(6h{TUPg1 z1bnT6j(C@vd5+^&nWUfzBOXBgvC5isO_a_&pHvgC(p=#T8+}22|$V^iFtF(-+?^-wVgP+ z-r8AYwgF%r#+M!G*mMi&MFo~yD>*0Ri3=h`{pJU9PTZh)Y`>a+#st$MC&&YcLlUkB27z=vRb}GO}9nUsBFsd*Qkl)s=nwP^KAk)@wpVKZQ zSeKk4KQV}SxhhD{uKtw=b7OO7BO8Ud%BVc0aPBeuUxj@K=S6`UZ6HR8?cBd={l--c z;0~cz?u>YlHt{|c4|As*l$KcHkfOgQBqx~8*c%6LzT5AOhtj5|SqsJje&d7216!gw8P6jhgFe#UuKRin7c=1_AFx>IZ(nvu# z!EwL*I35D4+LsSn+3E7QSLE?dz#t`$@aJ-Tb3}PtZw_BSVr$jfm4aEt+Ds#9*x^f_V4kGo#~TF$K4+~% zo*YYt6WqsfcFu7el1a#Ojnxr)0k(0|#k?pAJbNUPK;}EB-ZoQ$u9!LYG!G56!k%Fg z1Q`X>n|$m5@ipqsBH(*F;Fg!RcDJRnQUZZnr-2)y58^o{xxT6JHpU%3JEhfQ(p#AG znFCE5wsu&MfbEW%J$xt~lv@vo97SV1E1^o7MT8qNNimp8ae~~0_3`k~IJ6>#wnm`r& z%IAD~{#E2gOM8SO<}`fcITa@!r8G9C-p=ac(jqq&@|4fzOdCD5XT+LTkjLe2Ao-aN z4CL&m`A1f7dOLgVItd!$%@gPDi0v-t@5+C5h4|Pm^Kh(ejnm*LG`aV$MO4AB!2d=oqP$6xq$k4RE6j5F&(X=t&DP+nR!G^ zhB5VX(0H76rC^cUxNAn!I0H(PLg3|+SviclhNXEYIqe7;XJNC*a66->)hxP9w|2o8 zFJ$Bwc0yO(m+?Q6^c!Zp?ZN*5v<#5DKD~Er#YSUD&?3fnBqI2qQ&YFUv~idPusO!d z)qwv1B5FI4DmxClCBs7wmt`HymiQgKonGV9BVab%^zzOr*G5P*^o@8>$e(~n^9Vpxz zPUjAV3@-B~Qs71eVb>-wdNXGmo$wD#)NARm*~$#A7=|(w8|01onDr*OUl06s*ZAvQ zhfLwPPib=@CV9T(EBK^uVUxe0uciM02QK(?h7O|d#hkm0hpmPL}<((Y-eP+nEGW+e0qFggvZJUl1F`mEv|Ge*^0ZMm%< zCq3S6$Bqx>UjC6|nF>gtsTd$_k^a1@I>y~#)UJ6{W-DkRQgOJW3M#+Z_^fZd&G{6i~5sEUtR0sWSK)_+?Kxofe7NW!f zG{n*)G$+=8Lt>b9r}L(yGW2@W9+c;L9MWJprAw_ULLQYcr=SIjd{a}31{a6Ynw(NJ zz+!W?1hNEDTLTnC;8k~twUx5Ae()F`bORx{$BCB82?=}vJnP0^9sVsmv%a6FO_>~? zau3}Vc=-46WN5ZiED`|wKm@;YO8Hb!+ml{U(yec}%UuzvX(qXTXk&wUjuUq^m_%UmtTR@2jFSj#ea%(ri?}brmHgF^` zft(V=ZpY5OC&QdI9fT-ZMsZf+#IeS`l;_OyOYm#(&j>?h3Kl>yR_LKvmk0m?iBu@S z7^593Y^sDjJ!rF^AJ&9Y8-MXg0yNpBpY&*accy?YZzEne{jc?tKD(ycsmM;!Mjxen z5=P~X+sG4M5B;bwerJyY=OR0Pp6qF$IHlwzmDmjR#%eknb8Brh&G*<~W~UqlfkE81 z_^M|d@dwEw+gp$c+iJCuAoXj6Mt)DUkmn|`@br?qvE(FYVT#wVx03!cK-l$TQr7n) zOm&LUL6n}pRi9A)4AZ7x#7wipYj&`yNDwg@+*XwOCab6tCY2(O#|IzMr1U6fy8{p?w442===gpVtkx6Dsld{d7Ph;UBw(7vV{55a+Q+z#a9j=Ax|mfXm6@qBR?oH7 z?nFjIAyb!C*;2Ok%i$Orev`^MN7^v!j~d0OU)k_(lD3w8>!~(o2PCnrYg-qJ#Lafa zB%i%2AL&{QuYe*DL2lE|2!;<|zH3a~OV~c8bPsJea?&CALGi^dR@ZN0vVlx?7M21ah;cp~}K5AUYd?>V3Z!vk_codG^|yz+dZXrYij%$v(6@QMK4ywv`B zN#TY=6_i8m*4?)?@=j#$Ljx+~_>WUS68bDq+Sw{LWGyc;sqxQ^T{v>eYwPJpW>5@Z zk0NR>f^-(u?}(WWBMejz0gbDvS=mLU+sQ94+6YHKr6$6Sfvr8S4@nh(??=p~fa{MR z&Z_!6x7RJ%$s~_0)8_#66)mU8BDb8*0gMa)2VB+1;kO6;)}WHQ^?WGDK~T0jq;#)? zUk)O(h+SRBo@_G~9ZhxdrNeJ;Z56y>Ber!RM~?ph^`)a}>8EM&#DD{h@GE@!)QFFr z{b*T36({hVu6z%jK76;NO$bQ=*r_d*2ec!cWA6dbA4<~Hv@JhXjzzw+wv@=crJ6CH zP5RdTF{jYZb*uai;oU)b?c;k1!mry#dAV>q!~%MrxvqV6`##^BMW0K#hC$gGBUT)Y zGtgtqjmfV0ehilF3Y;5)BR-0L_x_yL$FRWg6bjENYM%=={W4bOuyzncpva5N6t+n| zrvunkR`S~F%H%^l6RfhHURQ|o9kw_=9wR$#y?Z`cU2`3(sgaKE<0}~RBgFX+&Z1@E z%{KL9ZAJ*LARw7uZ@oFj?C-JV_8@&RPQ=d|$qKaa_L3Du%$s1bVsKk0V%U#JC z)Y7m20A`E0ZV{|?J82^cgp8{zDc_mNI~M2x@bDDV4`&liIj?TrEuj#q5b~G8GvlFi zoZ$IwpGu3HNs99Qx#5aw;vBPGvXVguAry39AO^q;ocQ&PSK!wX={CH{Xd{L>xk-Xh zOpb5>7&&Gnjrwil)KsqcUh_t0hggbxXk!Ez@ItP~BR(uoi9Xc8=dYz3mL|ZgYaEQS zO%L&&sH}eTpAtH6y;eAn;l`7!LR$V6DvSYW#!4JxcN@7LT{2EmX89+N?ti!t=FgwS~J9yPEQutY}S!JwDcTt_!J;ozA&z9%cd{?P;nrvN0FlvKpUd($cG+1?S_05pBh#O@}{Ap>l!qi znvIn49nQle1IKF9Te1!xZ_>R{d!%++wWYPRSmfF{91I>nKxXjk&ga^zn#T$0ap_NS ze`^iPU20J@YEy9lV59;!%M6+UGtd73Fc@!xOyU_v9yDRThH6TC)s!0|Zfo@g&_pJ+`gL36YEy$PuMXM7{CPOm<-?w*s}O(t4VNTA|>U1 zQs6OA2UgFPd~ru0HwznW5J~h%%5; z4n&GK9%{`Q-_#o9zXiWzd9_)sbv`$^pXH*SM3T)T5n!r2^qhL57L1J zlB5twAmkC@P}*E0NWQt#kYd(S*H%ma0G6!TmLce_d54gb9Tui*QvM)BQi0yKesQ;l zMjw$hkQ)>ytram8z#3vasm(F>G=LM=#<8&4vNuWtKmuqOQJThSj1&E6SZzdUkEH@J z`%`CnEKoMxC<684wKW&DH`bE`DpY`_N{2(zrl+JKQ|+2>YE;6<%|3Rfrl5Tq_tzgU z2`6oU z9OXw4R1ry>>s@+u{CUj`r$2%W!$O9S4A}E1_wBJ$G*cu1wMe zJ~i%NgM2i$wsycE04VUPG}7GMjheNxDk$sR7sIJ*Z5b(y4=TDUg#ZCs+I6^s*#eIW z+pSFJgeiYoU}^C{$EKxA!=)f%2g;bzJJSVHLvYn5D8u{t*=KNl9_M}1DE>!(L z>t8^4ieYb|-9Pfz&M%0!U%fc9TbU0q`KJTuaZ+7^MJ;ami*NTvYn$s(zOAgYIX#*j zb*tV!UK!++;GKqQqi}^%M?v3^oK=j9GDA8-f(v1R81E6`O3oE)j@s>rOzb@C1Quo} z)k|TUcQhd~8xMb;Z-8OCru zsZXcb%Id}-$q*c%ej`#dN**>#sft_2_sX0Ce1!yZwxomQVixu>jogjex_Fa{IeBE9 zh}}-_wT?JqkD1uvBO3rKEvhFE#$}mO=%5b~OWcJ{1wGLebg0 zw?Ufb@ZlFbu6!$AE?JW=2-VPSTZpykZ}0M8faODU&z(-{Gf%3>BeNSTY&-xSCX^QO z>6&WAwY*BBv~#ge82m4YLZN#0hhGu^V;KB=iMEJ!hF2d{-i#>vK1VzZjxM~ThG zJ8AO42U2_}w2ekdwEKscZtPg7@U1NqN1F8|)b&z(`6EAuw{4V1rQF=G<%DHWAH-@@ zMY|dcuE$Q6;h!?OQrf@(CGn_f%HisLGd< z+#d5m8CBn*GziC~Bv3~Eit@o`IY9^SHD!v~t|ETW@+l*bvglBRDXJjJ?XnKe{|C zc_vo9irIFN7!VJQ0Bu~x5X6x#RvapiHa%)VSEWFGyj=R>0iI&P6gav}! z;lDb*rieaX*7_yKESu79kkNSfal`$D_s+@pP;!&)Q#LUr&8^UpyRPMPn( z0c8clcz|$y=^xUcuUcwg3v@Zj^d2>;_G0OSUj>jM1tG>!Na#rXN8hJ_6}Tu!phFXr zljGw+N7{33o?H*kvUR2+m4z6dKG3E|+&N!H!5RHe=T&YY(c{+7V79hbQ9<68JA~#} z$-qsz7Ho4L1Q`5h7PbVB5$Y&JYNHAO8P7@pCHXxXI{^>lu7q+2u04H)3U21Z$aD5^{o(-gD!9j+R<5I`iQQN#mqzU)jHUvy9h^XWXFuVu zUg{sS&ko;9+ShU8eX$L$fx^c=0Z2tfb zezXkp4aJGSy9(?cIc{U;VmikN*>~tN59`y!uaSj{g$0ViB4h)$;LCeg4yIzF&W&1f>aOsNciVSy> z@<|gx%YZp#D!$;ZPvu>r9V*(%Ea9=YhT0e;c39$!C|ri}^>bU?f|G2CiWnn-IUzu+ zw!nD+2lN!KBIk(X?=N|M#b(7eDR3}A&N1V?HYl;TwJKplV{Nyfbqok2W9L~YPw7dB z#-j)U>NYf*h|n;h1%pCQN-R?mo|MJ`G{pXNM}D*>fdFV&ZS6#JKz(QcXjs#eniD|m z7Cy8j=A54_P|zauX;N*CHbq5@dR=L=^rsXFk4lv)Kq_%fPtuwJQ!&Dv?N6Esn-MpL z)DMH3d`Z7BSxkAc-8J*`;`Q_E9AzSBD+s{ez0dJpaxACx2D~w^+I;5}UPydotUBzw zAauNTE%P>h7-)v;iR{&s5Qm#;_lLuMG(l?!$3Q$Q$^QTdG==^Cua1g8t$RCyZNl58 z*uWILboXPjUQ!z}sFzewssQj5RDj!RRlMa7Po1fSJp&$?(#~nK>p%=?iKJ<>K#IS_ zoj_^aEp;OhqqAe5VP85{URorontX>fyu^b`ec*BK0L&|Qh2Y8N%wNc@_#?&uTC^n4`=Th43$8DGtOhApw{g;Vf_J@_GqmUq|9RcK-mrE)p_H!Rj~dx_k4v{(e$ivMfjhu{BUFpaiTKA;TS#*qjBSm)YhF0g zF=UmqG&5cCuAuV2GHKB^z-%6^nqHp@mwYPQKrjFp%Tz*LESJ$}ni?u9U`Wg0JZf`X zD{pL?b+dBBi<#fhb*oB9V;r1WtwRn9*+SXJfya$x)h)m69=ev6>;A=LMsd)Z&!yZ8 zEizec(5$z8$Z^yyZrPyG^!a5NGRS)QlT2RBI_Ybxt9>6#7>zO8Fz5wqYF3LR)>?dD z_;|^89$-|SkEfeuc_t*>+;^p7e&W6aa_C_mc?4oY!pn2QR%vPnv;EpAcb~h6Qj1S=y`VevuXOx|c zV`|16&2(b}y(6zr;Rdr_!hT|PUanA6>G1RM1rYos*41GhZYGXDp>R*=38@3q+O@7%GC-?g$^>qEwrRY)mRAxJ0M9+Es*#3$<&1KcU{W9qJL{8mnI>sYVi?Bg~^q~x5yMyIR z9cZb)IspTU6GleVCWZ`S>qG5DO^g~44bp)1qdh1{peSk+PI}TJfB=tb14ex44KV`4 z(t!F=ng*Z&plZoLMFTOPuhM~!on&pR8&D$|rPiGK(*uGj47;BJ)|(VeGIplgh5-T6 zo|`nYNI_Fm(x3%Ol`23g35H`}DCwAGNT3nL{wu;wl>2xZ@m8jL4kx>gL4qXmuXub( z)BAf#cIpjybK*sZ?yfOoj0u-NQC#0Ahju$V9w#>3v~(YY*9yAWQb%|LUclhD2Hrnm zUKrplU*vVmN9G_FwzG!gIMDjp|{ZZFYinpcrX>40xb^P!Eo(NCD7_pY(T z7BNWEW|aYA=}n#KQ#CO$6Op$609tH~&e)`SRA&(COQmU3%;%Ky;8GeqvHN3jZ*FY# zxF2~W=U@-vTJxk%w%U4+K{PLI1s-B}F+CrA_b;jgW<@2=nZz~*y$lj}S;JlK__lY4v@~cQ$g<>}W zV@+>Y@Ti%XP6Auso{wQXI-sg{#@WI6T~Oy4E=*9C)vZ!L6qiDoZ5 z4!*S`rrSNvw%6A|fi+=3E0-!+ zn>x{xmK2C>TUTq#mzPnOvxQD0h#s{grRpCcrkQPHF^30~k-HkLX?kO7T7pL@E&=9| z&y`Ob(SLgJS+Dy&nB@d?&1uHdbY;k?TQslMd%VS#l6ip7k0?HMl33y4y*9IU>zN>mUB#?63 z#D5CZh#S`s#c9tYj^(lij1M|1yhR#TW-h0fJ^c{cYRm;(d^mv!1Op)&CLNI@SlF?^p9ngGz?8xubg+@Klelrh@6JgXbsYKhCuBuWlEu~m$4)9$l=D-=w1}DSYv>Z zhLS#9isfGmbY8$-TDsw*Vg?6?g?4QU*`G;?)M4Oiu1}IkC)DQWk_()cf=*RqP&Tmg zaVrS{D{{F8ruDT|)JvU~c*akttU6_hy3}D|xsC8DwoK?;EvK7J$ilYcYO_`gSOgZ) zD8|5Mv(@oj6*tJKQ)ZPh4@_xNKdm4Y4LS6o&(fL!=t-sTO-uz!l{Fw9n9}g3`p^PD ztpyP@Bv6nI;X-JMp)?3=epQB1kPnjsS+PLlB7hiB<8~)vO&%$+^`~HBF)2A<8~fYR zL4b01W+eKPM0TMxSQ`3*bJ*N3T*ShRWPp4~-kxRWQm3O*paG^mY5G$hv>_oLlqb~D zb@8D)^q^xON@`TbfCY^=PyT7m2{bSljWMUDCjig@5kP30dJ{|#Cwdc3Xi1e~6=t-kAC#@ha00BaO*3?buLyAlX6!a_BhKs4)W6f!^un9?+!B$QQ_;)|4$IL56rHRm%i zELgKQnenXAOd85pJp$u;$#-qqDUrI9Sf+!s(jOVi5k?6niRvS@mD}tjBPSfkdaqr^ zt#QaR)5@mx$vZbi$?(NOOh4~5{vKS_?9PlfkaAvgl6hlY^ILXy?WoT3w(7@~N2Oqu zu>`EYjk!UqK8a)?(^1ISFOP|=dYrpy8??B0a?Q;;3eXYZGk`g>BuWO-+E+K@2HPyp=;CPc=YU0`*KE~3^Bbxva zJga_tIVMJ`I_i1Sjk)KY2n2qso^4guUNrJW!a}nm) ztxX`U-mibFT@muuAk$a)@}wPjZa_?mxW-OZp%-SJdpPw$#CAM!ixG-wbQNaqUj^^K0kz38?qzOdsi5m z@>Ns^!E?0%*|6xb3kz7+xRLg<0a`&hc!JV49r+_^7#fqYPI)folOeJqP<#bzK&E~u zyOS9f)}a*n9MHyZ>X^0AFMA&Bvt*yh)V+m=CV^oP>aZ&ieQGlCK59uVTX*?z*sC4B zM?7o(;sh8Tf{@4fc^cYWPU8#O++wcUj*8aTuwC+;#VWSmMBvpkMUCwAcy9*yxh1`` zU3wT7Rkd{k@5C8TU5@_%)}baz7k&}5>@~$am8O>|z5R9O9vDf6DWq0KI|2LV%o=S(*8ryp7XakV`)Jq%1#sf|DDKn%b#ka`;D9}x6G zacwVj5JB*+k?m0YLt-xNTwrGuAU$1{ z&3b#|?*gu;rd=tF9_il|;~NK)O}~=be20cYrz0IIjM{k1lV+b&DDcmA{1fBF)GcBK z`@;Z?_}8VhO+jwpUGuek<@is*l%2m;%~+HbPGvDOaU1Hd72yG zX*TH*-yc3D4HHG4J7*oUf{~~`K6T*ze_iLjW6oY#Bqfe|l53)TM&o;)B$8W;$0MAO zicj4Y#ctVT)P@d7YQ-GCS0>*`>AXKj5|_4G-sniEqo*$P*OK#TA|+fYkoK=qo0y)ZrK5;#$~@H`T?~?&H*A^^w`w>#C@dBz;DY{-gDWqb==g- zjZ3L8u*43<#%k{lqZ+|$Zkvs(oodpQp4nHfb5}hY+|6@i&A2^%s}6iuB+iDPHrTXT zV$_-&f-Qc@d3(}Ut<1rJnZtHtWF9g#VAihD^+mI_9FfGm^IH){ITqqo=Obt%^FDRX z$s3)WOf#%(lF&OnGIK1LlKNx+00{CGBdF_71;e~*Zf{8LgZE>tJ`d9x?^Bj(Sjg+t zpATxytwhq^e4Ucv2HiUJ6@R?3dkr=VXofDY z$O;EkS{(yIj^|N|5&?$9b4YwSysBO{Tb*iq`LH6lQjurF9cy$>e3@6)5{!p(ck)rx(;~j) zM;2WsgJjN_Eduf;JXq4<-6l;phs({q?f5dx$Et%-Tu_axYg$E`onlE z=Te4YX%4-rJ~E0Si}I$#j8?~*$yzXe+H!uG#cXMse_=iBt~=KffIgLtq4`TaCe4@$ z=L0{~)SizpyVm8m8^;90K0D%*V@9lew*LSSAcjx^OK-}+_?%{^G`ndAsdp5)%%mvW z9Lv2|wZd281-nKF2;dK(tK!?Vm$uR<3nISb%v45+TTLW><1iJ#c4DCa0Ixc>aBQt@ zHk_AW{k&b72h1AN)NRGJo}J1+w&ooxb_ibQO}4s&X)LA(1InQIBz7(pv=CmKMi~rw zkcz)wsSw5oSl7;~d_5Sri%-6fC71x!an*5&3X$CdZ>3g9t=$1EQW3vt&{WR?CU$P9 z)f0f$>w*dA-_ordC1>*OCVWoYQi|jmY4E1aJu$1w#x%bwVZTa7fE6(`vr2{n29-4; zeCR+bYI^S8WTiK z37|uJP?MgtqyyGDkVuTDeAZ72Y)~VS{7T`mb!#x>&oZA1`T6m$gJj{ZCTqx|D+KMz#B>ee zUs1S&OIzD!+b0#~FO8oJBG)wgh@_7pl;GoVd<{u*fjV}18-;I=Xq%8h8`rIV3-NQy zZxl1R=Z^z_8uC4^k8{JC%$8TmRpERBN8TO=yH^0~t6?Ne7%2pJ)*RWsl&tAs)BR}C z?!Fwq7Z5J_$n&cLu6OVi$$lR3L|2y4FmZx6-mUya$5xsyp7Kd5BC2GuHL5aFm2_uKxQcGozqDbWYPH;v937&r9fvGK z$W=F=wBnq$$S_IptAsP9+~Jslh;X2PTI6b$*Jo=;_bM(tA8xum{abcyQ9i6;EXL; zY@Z{mCn(2fY^pxE%}a2~EYVzQPxo!$Dunssn7t4>PMsa!9!qf`9fp?)-@qJFl>YR( z%K}4|kw>7;C|>Eb{ujBrU;IX~amt6smpGw;+S`jX`xQNHNMY-W5EyPk#F{Dr(o)2F z0a-4i`P*wN6dl{U!z`eG3Ysn;jM>N9b6Dd&cdFYYkhOO+@TINGZuXN5O&Sw0x4{n>9j4)(~|@Tf9q>6{@N!D69-I_liPyTAPrSn_s z1x7%ThqYO_sy<0AT#RzR z_@MyVq-k`fG{98dDd>G^0J*VENYbW&A9`&0QDTJ91AFF#)19bu=}17eH(GwQ)OG@) zr=}!R7%jC85jmkWh3sQOY0U|y0GeY(LTCUEKD5+EhL{3rj`T)^&>^T#y*Z&f&@fFg zr^PiP0!0H4&X3xJ(;0}2(3;3-8yTPgU}#CAW9>nW_M{^3j0$X1lasYJX)%aX=QM%O zT514(hMZ9Kq7(qUDGF4nfL%=^Oa&q-0OFN5N_qfiQ0hV7HB92(8B6G2xDH2^T{;>W zqFGRf#Rx};J~aF!dw|!vd|bCMlE8t~c~=(A=g?J{A4OV-^26e;CjHZGe|GPi%gn4}JEHhicY?H6{pX{J#$=vu)=bn-%3N!j zm83T%o_o1NF#Z)4)c8wFSK>1w0om9^%0Ikop$BI&YiS?xN-Syt*Q|?y^sUulrf_mv zLz6Ym0R#D~TjD*!O~kr&kU4B~wmd2H=|$be#M6IaWILn7AXJeCM{4%MT|-0D({zE9 zmG-PR@f&V4H?5xJ=@R=^?wo#iThneBf@F|@O>glootB-k-dmJxk9rvB)8eaBai(g( zE(#uD_1=+RmR$}eJ==r}@8eSUR^7B(k~aOUK>n2%#DrQ!!gBaE#ya?Nias=_L^IX z2bkWL;rb-?9X)Mqbt_14IiI#b2d--A!!Ze##__)N5Qxs+bx6?en^&IgQ(37=kF z{{ULL@YIVQfhqf>xWV>2R2d{mX>0!g=Bvnn%FhVM^W2KCa7C!o^<6_vBn1bV2bF19 z+N?Ua%?|Sf13r~C1-Z83cDr4JL^HKQ##?m!Npll{mPWz+>eIvkPinb4fss{>J(f8n zev0END$61H>j>BpmBwidh=n^KfQ{dCT?0qL>F7Nwp4PyWJ$ZJ{K#RsVp`$b=qQRjGRMhy|frxEIpE??R(18U@r7Y*h zoMRNgLYIXqV@MF*)KtU5nn@NUEaw=buwrKjq_M!NmlpB8wu@^cJc^-4Z*BEc=lb31g5XiE%9IWftygCOHC27r1JKk z@~%2H8SZ3huU(njbIfrK?`aVxC6MoY6YN6IAxjs>h#TR(@LX84OA{xU`vICk~RCljMawGm7CTy z+|@45V<9uip1Bol(yjoumPa6EGh1(i1#(1PUbEffC68%KkeuSImv>PmyGo=2tA!NA$Xlq9uK0&K9zalJr!hz2_^s}OU~6#(`*T{=E1`-tK_$zC#6Se0UYyy z4m_)ws*6og*3wB+WTu&^e9omM(a46`O2_Y5ZekM7Wx71iJe=I8$X14!tu@3pkQ@L* zNI>gbdd1vPYT3?23CgRUtZETo9tla@xg|JS4#HdAPT&JE`zvw$BD!A-+YLGtjzjj+ zgDj@G*9wNa)a-5C?9%hF^Q-Q&el*jm+z=E;4Bnpm3eL+Z{3n1esTu52*hDopdjrNO+QY)dGBtSNbMqxv+Qc21gBH8 zw~FI)YRo}C7$AW_$z2c!;vGgVQ}%5fs&iL@MYgg+{{UlsYk&tr!m9dpp|#@Jrp6+_ zwlTNAQC3?;Hx@-@Q`=bFoE+`}IsB?4Ms5vJZ)L1I4ZB0uu2u=zaLft_4J?3+4-C~V z(f&_D)=qaajAL!8>+=yMy@X6~vB0g@#O+aIMU#ffz84JGXFxw8(yZE33#*CM&g&il zs)q?k@ymb8f3xe4YO(0|eAcsEsPFRRk1B&Ci#?Qp_Helz!}Y5#4@t~k33IX9sF7Xv z*EaG*am+!hmXRp=$lXXB<8WyWlf8~6DpzdO{epIO;0~1#qc@5h@qtsQoRI$v6}UVnV4bK*z08c;kzr(yb)JfI#!D-Yep$bgOv@ zbpb~E*O_?#0FGtXE~QvxJ%}fK^{o1w@xu+w)uq!*H0coE5cuwWR!M%*yCO~pop25$ z)eP4}u_p%=dDri9kLj`Xu3@UMp6_gx2Y*`U=_K+^&Rv~tTw{(35$FlEGEgWuUmRBc zk*LNnGr91p{rT>4#5NsG28voajE)Z|K6S4w6rjwQWwvOyYBRi0JLd(u3ZmaDHOtF0 ze!VK;eReJ&!uPN|s-tslE#&MlLWBBNEh4El&DyuRJ5i3tVzTy!qI9W^I(E91nDjdg znu5GRYMiU}H7%vwEHI$X=C;l5TZ}OH$wiY_utf!-CmhYwYUjLLF$o>KS^Gnlz^h!E zn7_R2!OEpoHOTqzB$dX=u=S|u(@og*tvIHLDQ4u2BV6De>SkNx4vfK0?}gf+B>@qO zkO?)s@7qCcgE(dt(>YX4!}c0XKpZwRT61bmBuyR;#Q=J#};j@v%`^H`H22-Hpjew(!JXFRw>|jz%~> zSpNX#w*Dhuv>JCR9`)3Pi1EOzRuYRHW)k@4dvEl4&u{s9Wl57Zod9aMiV_`|?d3j-$&pH1>SjZPaVsCPh(NT*;~H z6CeSig;54N0tlB4Ae(Njg_gJhNGE>+u1S05x&N^w41o))m9l8 z1AdB79;D}b+SLp?J?xg>cGmp^sqo3Frnhe{o2c;h%CS*zamdY&0%=(2vvEDUY5I1k zgYNcx;x83(7w#iqny-c%s}D!pjk; zzQ&3D5^OlZ&t)N9{VSkZDNBf%Pj!Gfu63k1k6W7E$nUu|(KP4fniOt_6(3_Q$l%<< z!l&GhMI*#jZWiU5H7BK5ROU7IslbGUX}oFw06JsqRuDr{%_>AtF;b;XKnj?j%8@kG z0JG&vl_~&OrY4qmrZmtEx#>eiOlbhdnA4hS5DiRsqp*DD3F|``G{&5qQyNG}9~u*iay+O_I}c(ehMdz=0gVf6Darh( zPg+2MCYv;mr7@-mVsS!g$^QUZrZfO1gwYxU?@0m}niEcFNzc771kjo@y#b&=kTJCZ zUF#tOmZVza~YN~N38o^})Vn8rA-nmZ}d|{3P>1^gl@&>tXwZ}L5yD@esjnHR$ z%b!ymYw~N;=_irjqQUVCjqWwehqttmglv1n8s^%h%Wn~0VVrNhOD0kiEQIqma7|G- zqfu~ND`0QEaOW(ViPJp}I73a3f(u{28>+YKRid#tARMu+ZC3T3MmgW!wNmK88D}{s z^sc@=KhwuZ40S2bzZG~pVv1^bm#7a~a=FmN`lnryq{NX4qd zvQ{;Wt!&)PcXDf6Uwk6+4Cix4cHEB=ua5Pvdfze38}JU5yK0M4IqGgn#H(DHCu7P; z1mdJ^+mo{9>bR{7?58YoZNBEREAoZG=qmKg?Gl$)y`fU4sl`WYhm(>sw?5{vSm>3a;?b6WAQ@%J?F! zTEcSMs`Lzl0;gqZazNgFlOgbB6=1Qr0w$6|1aU3^^{6f*#1=Nvrh4MD$8u-0f+)z# z_ujGUxrw()#F;;!MI+ryGlCIR;Ct1lM1^f_qgEL+$XSg=*s`{b+Cz?J7&X6Zc&6S2 z8^{|N&*xn1Y06Err;(_}kzhz*wZ6F4byh0`5pu+*Y@Wa6P@FY<`ri=VYBP>ilpf7| zfay`Zd8^5&J+7H;m0SYBPl+H^uZ8rLv%HE17+CH3n?G9W;#Cuoo3noURJXEJ+qJf=sqifp2Pl+BCA7qPP5%!v&!x(iX&u?gjImhz8)g!9eFBAMb zhT;_EzJ}c<3*vE&>sv-cdGK!H+>FgGSSjis`kZ7?HA%j|k72Ba?K`6XNU zI+=M%9!828W#K(U&89rgbN0q550(k3-9{l6wWZ2@MhW-DMR2Z~A+yw>QQeh<$}{KI zrFe;icRFTH+hZQ$qwHqDg`(p0kq8RI2D%oVBF!p*a?v(%RGZQ*bqhPDP*y?#_p2q9 z$H{9kbA8ExsIix)KW__;hZ)6Lpxy*NRb00MLCQDf+U(o|slS?h*wo z%Cx#516>lJF0qA{-X(yazr))qAv*3 zEy)`(70pv`m)kn78(K@GMR5+Mwvm)lGt;ee-ERA~M&$1t^r>BL=1ZxG?-E<`sMz%4 zBQi{<9e1txal;gMKFk^NPb+a<6kE$_8bai4*Lu-0J;a#7!0A?9QdPN>LvFig1lFC} zN2lB6vCKtkS=pEN=@>20M5_u6GY#=if1wBOrG44X)l1PM=hcWg3Z}1+-bNVb0V5Tg zS363LI#|`&AFS9Gw~!nXMNqFa_0#R1LI*P+8okS@EzyvVySNoi;tZNNx-j1Yv~HxwGK2T4&~H-U^P3!bWDWS_iQM%Y z>?;j}ncNTMtoMN2TgU+jI`_o@&e*Jad;n8?3+HqI(PPLZL(Ilx?0rGXcdUBKI% zWK-E`{jI#Df!uDjmo(B%GiC@mO3`KDxkc5q*6+H8$gSIj`8`0E{3mRB)PD}d`hDuS z00}T_9~5dO^_YwYxOZXaSm8}@ZJovPNoclTy*Sz~ahUSGN0nZ!cS;8@3^jAoQJ?F>`tvFv2IW?%@>Nlh z;450^PZIo8me6D*;w+A%Y8PXD8(b?akzPZjPnC*J%|P(ZH>{jdYuNEVwSECVyY1tR z50?3-ju{~1Yl)l{iqhyRZR7|1>t-T#OWrD34>WfmvL7r8UhGs!=~qdw>FIh$Ger+#~791N4FWz^!ZS&LvwM%fupW9g8TaZsR_T%eOWQ+Ee zMW4#6;2Etq&!DXO^|#IGwo^yOYY5 z9oq~24maPL2>{xsQ|+y+W+WDm12qQ>eU+4v0siwfH)x%$w`4Xejl8KoNf+HVe0D5O zL#hfW~M~S~j3N(-zRgJAIRS=PZdXiHReQ))taX zXC5`rc!u-mZdoHE0QuDC5o<*AMH6Sw6obDz|%hZ*>({*#mU&s|Kq&qPxgPD)bdVium1YK@)JTlU=My&e_Mz)DlNk zwPd!_6=KIT56Yl#6he<9oRiYGtr)Z;v^yy4S~u>KKX{Hr=qsJh_h(0k6l&>%vU4En z=C|+f3^0h$oyJ&-ggTmu!p1Tb=W2=7HS%56bDZs3qk+z7%RK54Wd5J1DVf!qx~Cm# zAB=SeukpvzH@f0tk&!#g@DxMQlv-O+xC|RJRSPfh31>s_CybA zT2iXrNh1Nul{ipdL?s)lovN)yMy2>K!Hqa`*$b;EOBG1QU4=E3i8?c%8r-_K#nA0X zQMGM|Ry`n-fD2-@Y3FgXE~6bxt1OH}3VNiKHLKkG#L>m#6k@ccv+QnSJ`6Kh?j-GJ z=NaaN{*|UK%#)2Xe@2kO#3Xn~o7JyGjU=_aRs-)8_*fvGvQ;(MT#eoYc%mIzei(?9g8W~jZsr)zKs z9JdO@k1W;4N4iTy)wO5-$s^@c=Zex~_BNS*2BojwJ{*Y{MUOmI{k#W6_;zP(iS-+h z)4n&{^s26b+R1Hh4>LXG$!R@uYoc-FF-5@lwve1Xx+IFD!xW!FU6XthWX9YeAK5xM z_Nd93BlyJuC%z*s*XdTThk>D_Mequ;q%LG^0s-d>{-3e^||pH%}*4B8wsp|&w(@-#WcMyN0~q(MC=In zq`Clp9o~x_D%8*YhkGaZTQz*)n*~Mf?N}6=`N6^l)U+I-OzOBy_1jgn_0s z^u$$!ENW_h4e4Tv7{;3!=}tv80tc-x9qH*%F|kd{MN1UW3_n^16hv=LLjZcy8afJy zghdJ3iiaC`eQH2AS{&w_k1A|Zu%T~5{b+{WC{EPF@FPNKyeLfo38u~|%`8v|W4~Gx zMNDX+fl8j3(joyn_)yUvy(nlK1kkk^6eVeZG$c_GOlSlF6f{R_V?z+efYJ4#Jt>R> z>q2&-raRCiV`>9NXb7Na5@=Y{k^cb22^jUDI0N*i@uDNnmOQAj7cxCFRqiO&*22}t zFa!#)%Hbj}8ma;fpCbV(-J#J)THO?!50OIZn)Vn6`&73ZmM8bVo# zB<@eGZt)(kClTwn7ju$BISHQytTNezgFa%gWyu#Lb#UTwg%QV9Xj=iiYEMVMH&+U! zv+q@F)#a4!wrb14){Q;NY->{6w#<)vl^t(~;Ss{EfJw&2tW(`~7Q~H+6|JFZxVJ*! zVN@QqgIkx8`!(n>)5fWDQsEay5?>}qb2ZG&^7O3Fbe76ph!w8$2qNY?U~X!gu5l)1 zF`>!MFe{g+gtE_S=DH?pN2;nq{G?|XsM&AY2%1Sq&%IW! zwS##%RyhOKtA?H`TzV{)qD~z9A-IcHkVM$eGjtUj!-ZJBW;?`s{uXA{{Req zN%N^b7qK^2B4-$hKIpEC$f1R^nz6a%NU+{W(Ag@1hd8RPt$iRok(12TZ`DGyWT@B< zwMDpaXOdSr$4_d(fo^9iPZR_mIlBAeUAQhTZ1HDSrgM%b|I8Rz3M!dS#r+bim*R7~Iq}?`%?J^$UErBOakM}s69wI{e)0oCQs&j`4x6?V}`_n%4zYDZ;bFNGpq^I|6#4aTS^5f2@HQ_Fw!TNoI ze`|M!ka_r;iM@QZ|l$QC2N^ z&DR)S>94w6>E{E~RxS#%5Iwc4cT3IB^sF#yk!oKTZlh8QK@T7~>yuGnj*0N1GTbFJ zYzn$S>5n2hRR>*-oj8A4KYGsWq>Kjraa}uuk#s0^A#vS}7@ocaRXOxHb(tQ8}t>O`5HbGzOp&zw8rMS~d2J zE$&Bt5LAO)^WpW^Wv@)QAgsKn^RAnu$PL}(XKqK$MS)rk`@YrmryzE`*r`8tt5{Cb6|n%S8f}H7%M36oMw+hI<}g^J0)?93Y4{&Paa0~UyA5M zrMj^It#9z{$hm+rkU<`GD3Eqb;+qs$rHY*h9C=e?GmxKn;xeQ(#earZmI>6xgF9)`W^f0PjtTI%Bz}ATdLX z(VAjET2=s%eze%4#UecDurZNLMPwp{mV^KiLPwn*4~;e{fsE} zKhdBgHI$EP98w(^h@c~V>oK4!y#Qm!r7#=rJZmN~L*qb+{v)~;R!jlG0=!rIL~)5{ zlFAo6(h?32g?hi@j;Zn%vS8!7Yv-@U4QaKVdh+10C>*Nq~0qjh?=_Qc1$l62q3 zvhdcN&p&T*yAzS=RnFX7eHKHBDkinF*lEg<19y1a^9%V zs`18op5}4hW8JIt_M^$4Q_Q$B>5IuF!{eaF^)G71C0wVE_|zEc?Gl$ z;?3O^DLa`Ms)qyVEZ;Knws9j?M!4*6q*gz4=M}b=W(_{xMH`l=yX8N;Wqe~RRK=;t zx>0b6zjXMxhD65wXl{=+;uF7jYSvqh(kRzGQr`HwEcm_!>{vzC6$&n?@q>mg7?N$w6Qgq=rkP;-iCEMDyxH`aF@fM46xaFTE z@$H%zk<+!yzn9^iUoJ$gI)F2|9yNpEHxtP5uCNf;9>`tEhL7SC3U|ZTHPnyp52j-IvVMGJs7lz zBMs$T8;6EcWwWNKY$Aclr}oi}J&Vbi1Y9l&E423<$nD9Maod1F(@+uN)$! zaKrAD2B};@7`n4)^O7VCHm-xh5TD)Pw#Ty`9+eT3+U@YQ(;ihLl&nbARk)7y$)(QL_L(86( zn5_#f0x=cyp(3+#(2+pdixk9p)?QIUR)8^;p(|NR`BP$mFp*8mSxV-FtuQgL_n;!P zP?gOg7>dx9tfg^HiUwgTKvy-KtphDEFyfeu)?&RVO3)(%Ee}NXtp|$Uj)9y%Y6^XI+72y6Ma>SB%Y?EHM{iro1X_5qE_Kku) zI@gi)@yx^wY)x`CSuawT*zRdD)|tP#Rs)({_THuJ?Ylq*HpNEr0Ve+dpsPNQ5IERx z=TAJiu+ztyHZ;8_GN~Z-uA9SF#t6ndDzm4+iGx<{CPn4I$4bWuIZBO_N-;O@Wny_o zXqt0xY{Z;oQJmv!#rp{>hk<-d=bb|Fa4{xt){ z7s+Y`y{;LU<6~TipUksCPbfsDe1!NuPE*Ag$k!kXxafx~F#a ztr^?qTtjOfPfXVQQcs4=8DiH+-L<+~bSxA+jnH{kE1Q;!GEd%-x&h%^{{XvI#?49Z zO5fJ9MWdEQG7QN6ohlDLDBOuHK3UXyD>B;4s7Sq_IL<(*?O{7P7A5dFz^lBr=?sp* z0I@Gxr!-A}sumgS!)M;KX>;yvvp%m)wIscpW-)E2M1$`(^@76PudXC!1f(LRF6`b{ zjZ|S!b*=A^{oABF1;b5JmSxrQ#S9I*eIcB$?wCV=5XD#ZhfzG-qo4w%C1zWDNDo}| z5#><2qh@IfY+677qY9}pXSWn<#vVE27(Zw;QyQ`DG?ZiaqG4Logo^UZm<)2%j;ChL zWhjUoFxzUM*GfwLka~9D+VoU4D1?`A%a00^(+bHGDLv%K6@nWlxVHPGvK{LbY}Pkq zN!?Rd}E{mOk4WbGQE@tLjVYVqBMAL^gVpgWh*NYFA0LCqRZJIPLBfoO|Y~wz3$s+osO!$6;5! z9EfxqSq?I|AbD+8qKR}$>i4a9w-#`Y<-9z-d}_(V*2XW~2o5A0k?D%6@Vp;2746jh z9oPbYD!FO@0RI3mShAk&yczu|u@RpWbpfR6t8EA*-Q*HIs$$ujN%(ndJa`T=!}2w$ z#+qb${-qV#VT2$P=~&~`#;3vGDt7E8D1L^c=w*xH)}#C5gC%K6=Seb7dSKIQGf13c zqvYl`R&0&N!lM2W<~<8pwL3C95t`hN;9Vw@e=aj^l#|e%kMyNnfpLI~0j%7h>&naP zwQgN&W?O9+R!sL&4!z0fwp5HX1Vr_GRdgVC;tGn6>s7lL2a!UBmzLFNzx}3Y^lqw_SZKt zu^0r3u>302ggUH|mKf&RxvrrjE!?ugP93wgSoi|)!K}p0e)+FCtJN%8+;0B>2d2|$ zUQHC$9;uJ*B32vZQ{uJsX++w3FzdB$5t{X0k0#YRF_os}tc7X0Xc3I9Hzj4|rOS#C z%v`j^Yd0-7Ejj}iEeTzZm1gCkE9prH#foAvS$TYEa(}E-0|^w|wV0;VJhZ3`e7n9VzN>*~TC38SC30e|7ylXcuX^Q56 zFctF@#cMY$2^4_BMK&uhE_zd9fH4)w>9sLh&5B~Vpbc`krX$j}IVcLy1_HFjYcWqM z5;05+Bx0Ktl#J7IQUeKE625hutqEFSU@7TBRP1vFXynu+EOUcgO@2-J{{RT=`22e? z{#i)XCt{@|>P=R!BM1p&u&b^9pB!ZK9-V59#LwBONIIIHo>wH0^TnlXs%p3Gad07v zJ$J=rd!@3o<71ghjMc81%Ge}% zKm}IxeL3&1TJr23$v)^cbGgxt+wup_QMt1w%6jXG&g7cL_g;SG?htzeZGYHV*KcJ$eDkX7=n_SdZ7#b*# zGst`1m8YlK@~mJCyLXSZN1!)alE&E}ZgW;UAS3N$BXBuXR*l;sNXxV8O4%Zo(WSU7 z0cRizJ!D7OqBc2WT;iG^vsjJ6$0#gCY1}hkt^%HEU-YVBH@eHG1-7V)w}-ZtOQ|+Q z$Wc|>#Wxa$A9u9>06Mkt3kw@qt!=>OW#1k(6CIBwoLs|lP&DhZ{FJfS_q$$~S+ z;&b~cds|LPx~|nDV|Vg#kPb&dTK5)$8#j@5D#xX1!y#*B4ZAySitXdbq;Rrgap16U zeA#=6U#VgR6r(!IbMxN@}ox@7Cb-271_p2J6*a6n8L?mAtMAGcG{+csNBoH zFK}misX?p!t(>;akk5Eemf5S{!yPi@i?kJucea>)X|ONk&5l@OV}Ml z;bxS1?{EM~(>cX!HI^gStaj#tR+2mpnHm1IaQIaMogUg!H<3U)RZ9Bc+x$n>tux$p z2N~;{i7&B&*IpW@23XuL_O>?wIPvR)Qy6KU(UN>KQCyfBfNkd*DTWPyG|*$mmS#J{t$_l#`uc>J=ESMud zx<|~lc>bPwN9@d8wA{Y6mzI|;Xfv4kX}N1JE@^Vm1|qcFwUn(cT3})2rXsTyrsbpt z9$Ic%%galafH4)J<;`U(MK>)1WE`DL|;h%S)Hivhq`M(LqKcxuN9pto*da zX#s$(2_AKvtubBqrUn9_(3J zT(Qpk)Qy8@7}}x9A-40W8woe-UHahjrIOm^kZfxI0PyjR&DwJlfP8D4qiwZxpM|bI zXa*x7)@?#j#@aP$q~(z&bnRWc7*SY^d)0GNy6oURnB4f(-xG5=PCzls=T)s$)(bD@ zBlWKzom))y8h1*Hj;pBzc310Et!C{^nLRx7Q+lKl&2Y|1sz$g zm8vr8b2OMz&+|Y=oee8(FSe8f7y^pg5ori{dY?MVnwqiXg8-hUx<4frpmSc=B;-q3 z#~f~v$AGE#jaxK*QEufBTc8|_?u zV^CE4I{Gx`?Q}`OWU`>`Q~(D`jn<$>La4w1JSfsjtJcdBiQqF>uI-{KM3MuIusmyz z%9WjND6h^E&fSbnoOLx@)pZ}6vm|YfyVaLeL}-er3mB@U%t+A4u>IU)HLnv^QIRuF z)G4)TSPkkLIK|GPEU))drqwG7lV)OH5=CLR)5@g5LEqN3##MG^ak?>S5OYZ^*vZ_~ z<(09_VEB^lntdZr3W0Ifw{D#+7G@X(FD`1S4YX_<}^ zMKuq?K+CAg&*S21;Iam~F~&Q?simJKN|)GpV4Q9J$W9!G8m;_HbAom?w-u_Ql^={1 zpwn%h$6vcH2JmH3#B``+wJ|Ce804#t zvl9IJ$fLVH^$V^*1TES1P4QhE8QN)m&SrcmrpQ}oXVl`!*j0;&Bn=v4!Eh?MrjaGk zVbK<)F7Ezm5GMIJ72L-wNZ{m!HcMGV8EnsroYwbl*IJV}$q`_FwWXyuJj)6D$hoNv zIv&XM-CCV1PG%%J3YR8ZJ*S_nAOTa-Cln1724APg^*$)g4&vBWAC9JD^af zq1;st{@mO;%NBW&vsXSIxr%E=5}Z2iUoO?X(%gL)65Ac8p*|1X^V*=_10uSK6~z7$ zUv_esl7!Cl+T7MFti@Q9QO-ILe8OYmR&a*18YF`_97kKs`-!8#y^#Z&yAU zyX!djs$$E{kfbnfvO$*HXmhZZ&Mq+Xpiu7~eqiy6+Aidk}4`~{~r zoT2VV+BW2o(yY3l62~08tU(J{;kJ0AC0DM)0-^OAF)Wb9kkd4bpptLiNvwgNHA&%P?t@*LKx%m*%Z$gO76gUQ-RJENv*FqC3h zIJqJxOVgXM48sftcc;`Ok59EKFl3O_w3i8Q3-SSzvVl-HR_t50xjUYK_zIL=%GnmG zG>w~kO{nSdstbzNj$OB@hqymH&rb@Z)$csa=s#(SzfYbJ|o*Se!f%Y{yZ$W_Y{ zirmUv+?t99h;b6b8*XqgDWK+*!xQyw*m(-gEF)FdW+Y}iVfxYO&@{I)$Oh+StCXq< z6*#v$MAd@{ZZgO0;U7%azY%H*_GGE+ zTPsnce}d&dmC_4!D zHApwc%SsHpJf{owsc2<&)7Y+g%t3ni)R9{xZg1aKzOl2jIJbfM-yI1R(xH$y8fntD zd2Q{-^{#WncAqX`O}j!eEm6e;l7+S%Owl|GR8CSic;YMT$Tp77jle`w);`mw>Qp9<>_VR!Pk;PPhxn)04gQ0AQ; zv&QMRQ!mgfH9FmMP$V>6oAH7fURc5 z30h!bD?(PY6`>-K7>K6DWFyNIGyny2KvuJ2gpVo(Mk2YaY%%Fs$l8F40K`Y@K*F;X z+JLP9Vk<&d&o!GABv1w(T4h|eD=8E?!J>fqH*r5UYAWUVvMVg}V>|6yQc0ZGl!@&p z%QUWG<~vk;knVP=XTkidURbkTjUI1I;_Gzx$|AqBITbUb-*U*gJ~bC{5gEm6+sf%Jk1Dn5P$-d{ft=M_QoIj1g+@s|E0-BQ z5!c$gAZ&ETlH;CXft=OnO46gA+#CRd)2(Pjrx3A*z%SOUGRD?+ijaa1Dy>dd%P`|f znpd$yWSH0i=T&`5?#xtlFHMk>r-$o64I0_DyE@vxA$FPkFqmTF;W%LLkB*?>CvNsli+9uJ=0h zM~w+BmkK$gHM?i0u9<5zjezAzH6aX<#~V*^j1L3jS{kh8TM1YL%|CSqkf?5yoicl3 zxkP^t+T%>Sx^?eLNfa7rTPT`KjhT+Zr&<{Ftp+5QyM^3T9fh-BOxKs4*cbaWH8m~U ziuSb9_9#iZyJ;o_MG(l%6@(yMz2(N-#|S)YWn=p`c~_P;Imex3v9^2b#c4+@F>j9w z6uTRbC67VV`z1G0?ajXRwKc!b+{EMVhRsHS+)NF4qA{2Xxx8Vn7z2pjlTW7xcXMlV48l5nFba$ z=Q;GJ7qKtu6OQ7qs1TDyZgI{Naa7B=yIZTc7;bkJI~3At8nC-LTsb*iqa=*xyW}?#MDJMBSy#aIZz&itg!U zXA4&pxF+lv$852Iy9{)x#gF}slxz+&Q1(li9f`<{ZBr3QS5GW{@j0%d`RW zo0y>A9<^eL`zc5x1@*{PMXW-Fs%VcP!yzL9V!ct&Qp zx-Q2hbx#ag$kvUvlymH4&B$8qu+2VsU_^Ri5LCW6|{sYgKRv8-Yiv zEL=SpCj*=UPnB{$E7uxMC^9SMBN^D%e6ys@I59a$l=!E`tp=q4S0NnlT>ADW7fo?( zpS9e8de+y(DNd&L(jm@MHLs%1ZmpM@OLFXMfvVIwM$bv5(8lR=JBqB zt#H#it<9?U#`{+_i%w{#Tiq<;RNa(#*H_?fERR=!TV3ra9HbuuUSnM;C-r0gC!^8E zmew|ls*AWjTIotiyKmPuY|wjHWD&?q#!qyg3a#t9QrX`mh&f3+h}&S;SmbKM5K#}&#=5mGQfuR(kvpPxpFNzZb< zSLm$IeoTMjc~8~2m(qmj=m&2s(@`34%D#knFmZ}vDCx041BzIu#Vk=_VAE03$DJ{Q zifmC+Py=F^k2)%2Kmm$aq9U4*0!H-MqVT38dSDJdnWmzqpg@tDVm+wM4FC=)Vv7{U zfr3Q|6m-XG1OXHzX0m%wkw5{85-TC5B7iaCgwc^geP{qkp({n!l`8`g6eLzsHrjxU zPyplfp(2dXpIQb54=(<6W}1-`8wwIUt0M{$DS?TH>q16rArv^E04tu9B|L>>#?;xy z^nm#5b14Lj?OJVfzx`_k-S`;E`_-V=nS2hF=A#-%uA6pC$2T{XXXOkk8XK?}4XQ>P zpaw~)CgQ~7xlq?oWlr7|3v`7T^r`75M_r9XUZ`yHkWF=Tx~t)wjb4{;DBR)wRqbb9 z@cZ61-Z(2?7j~+S+mYv9WNV+6kR0;h*FgAv#xccr63HmRAY(N>cAaO$*Rq`krQpi1 zqqJ)%V~R&(kyXtPO8M*7o9s~#YQ2S>#r4+8bIJ`@>|wd$T}U$%98xjg9Yqkp zo4Is}N^+&QwocpL$#?=lrJcH(mupD$+f2;CWq!VuuXU^G{3~iAv{jbl7|Gm|S{9;9 z_}ceaa*Erk8iV{DLFs`C?i{g-ywwA}de9cVTB3wu(oMJRR z#q+40FH15oveQ@WAJ7+R<+cyz@}TGB7!fu7x7lj)}`{+t#fj@m9|Lys=0k>J=9&j{!2;sP$S2+_1iVYT(EhmK8WfsqJni((JA6pdalwo?ZgCcn^kxz-OIt6d*G(>FrwYGizK$ zb#^dfw)-eR=vu0j;_@`QMUaEoueNUR&YZe_nR|OM7>!DXKAmf0P9H15mp8L)*KSIm zL(;NwLj0bOr|32$HRhn;IPn8Jn%Uy$7w5Dt7t{BUD0#pg6jd)K?q9$5M3i>$y??tS zE-hKCw7Bql&IzsFI6p7L6S9nR4pCS*+f$EE*R;(ePGxz}fa(uQ-S~xS$)H(U5%!k^ zW}Ij9#^1h2B(}{jML$E+8FWZxW#1XiY3k?-$&g9KUH(K`X%@EMi&CvNh7D-4azZHWk(tE ziI_ghz;ff7Mgq5A?KKN{SN+%-t$2GjC>fM3x^p#W;dU3=l=qWu5*?4FO2~R7^=JV| zVn2+Gj}umJloHz8L4pD=GY>&fTt6gSN3FcdLql(pG1CI9`klhq@Xn{INC4zQ5c*VK z0IBpq-ME`kvkSV30O?nYOI5Vu8!$%X1Jb$I3Nvc@K9_vG=4tZZonQFdQvJ!O*li;!uw?lkp;voTwIFBj78yewP+T+Wu6_B1*Tvq=8#LhfTX6Lkxfe3u+sin-C z!ZgZ$(leZS*B@1uyXfv{wEQo*biAMEE$!JlMlfqFp=}!NCM%nHe)pAC-PQ8$Nf=;^j3GK9dSTt@()T5Z!uq1K4LvLUut6DQdS40F;G~hr_DEC3PTrKL{t7$ z#QIPOV@zrH@}?ft#xbU+Add=L<2axJBhrx+`_nhIAp&WQBG~YxH}EvTYE;xNuf0P{!>lAl@7w}6F_Lrangr7^rC literal 0 HcmV?d00001 diff --git a/app/games/high-speed-memory/images/thumbnail.svg b/app/games/high-speed-memory/images/thumbnail.svg deleted file mode 100644 index 7f8cf40..0000000 --- a/app/games/high-speed-memory/images/thumbnail.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - ? - ? - From 234a203ac7d80031fd9d2da63db28393e2788f47 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 00:35:27 +0000 Subject: [PATCH 09/15] feat: update image scheme, fix grid display, add return-to-menu Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/game.js | 85 +++----- app/games/high-speed-memory/index.js | 147 ++++++------- app/games/high-speed-memory/interface.html | 29 +-- app/games/high-speed-memory/manifest.json | 2 +- app/games/high-speed-memory/style.css | 24 ++- .../high-speed-memory/tests/game.test.js | 120 +++++------ .../high-speed-memory/tests/index.test.js | 202 +++++++++--------- 7 files changed, 282 insertions(+), 327 deletions(-) diff --git a/app/games/high-speed-memory/game.js b/app/games/high-speed-memory/game.js index 0cca239..e9f1932 100644 --- a/app/games/high-speed-memory/game.js +++ b/app/games/high-speed-memory/game.js @@ -8,27 +8,22 @@ */ /** - * Placeholder card-face image filenames. - * Replace these files with real artwork when assets are available. - * Enough entries to support up to level 9 (12×12 grid = 48 groups). - */ -export const CARD_IMAGES = [ - 'card-01.svg', 'card-02.svg', 'card-03.svg', 'card-04.svg', - 'card-05.svg', 'card-06.svg', 'card-07.svg', 'card-08.svg', - 'card-09.svg', 'card-10.svg', 'card-11.svg', 'card-12.svg', - 'card-13.svg', 'card-14.svg', 'card-15.svg', 'card-16.svg', - 'card-17.svg', 'card-18.svg', 'card-19.svg', 'card-20.svg', - 'card-21.svg', 'card-22.svg', 'card-23.svg', 'card-24.svg', - 'card-25.svg', 'card-26.svg', 'card-27.svg', 'card-28.svg', - 'card-29.svg', 'card-30.svg', 'card-31.svg', 'card-32.svg', - 'card-33.svg', 'card-34.svg', 'card-35.svg', 'card-36.svg', - 'card-37.svg', 'card-38.svg', 'card-39.svg', 'card-40.svg', - 'card-41.svg', 'card-42.svg', 'card-43.svg', 'card-44.svg', - 'card-45.svg', 'card-46.svg', 'card-47.svg', 'card-48.svg', -]; - -/** Number of cards in each matching group. */ -export const MATCH_SIZE = 3; + * Filename of the target card that the player must find. + * Appears exactly PRIMARY_COUNT times in every grid. + */ +export const PRIMARY_IMAGE = 'Primary.jpg'; + +/** + * Filenames of distractor card images. + * These fill all grid cells that are not the Primary card. + */ +export const DISTRACTOR_IMAGES = ['Distractor1.jpg', 'Distractor2.jpg']; + +/** + * Number of Primary card copies placed in each round's grid. + * The player wins the round by finding all of them. + */ +export const PRIMARY_COUNT = 3; /** Initial card-reveal display duration in milliseconds (level 0). */ export const BASE_DISPLAY_MS = 500; @@ -108,18 +103,6 @@ export function getGridSize(lvl) { return { rows: n, cols: n }; } -/** - * Get the number of active cards for a given level. - * This is the largest multiple of MATCH_SIZE that fits inside the n×n grid. - * - * @param {number} lvl - The game level (0-based). - * @returns {number} Total active card count. - */ -export function getActiveCardCount(lvl) { - const { rows, cols } = getGridSize(lvl); - return Math.floor((rows * cols) / MATCH_SIZE) * MATCH_SIZE; -} - /** * Get the card-reveal display duration in milliseconds for a given level. * Ranges from BASE_DISPLAY_MS down to MIN_DISPLAY_MS. @@ -134,25 +117,25 @@ export function getDisplayDurationMs(lvl) { /** * Generate a shuffled array of card objects for a given level. * Each card has { id, image, matched }. - * Every image appears exactly MATCH_SIZE times. - * Returns getActiveCardCount(lvl) cards; any remaining grid cells are rendered empty. + * Exactly PRIMARY_COUNT cards show PRIMARY_IMAGE; the rest are random DISTRACTOR_IMAGES. + * The grid is fully filled (rows × cols cards, no empty cells). * * @param {number} lvl - The game level (0-based). * @returns {Array<{ id: number, image: string, matched: boolean }>} */ export function generateGrid(lvl) { - const activeCount = getActiveCardCount(lvl); - const groupCount = activeCount / MATCH_SIZE; - - const selectedImages = CARD_IMAGES.slice(0, groupCount); + const { rows, cols } = getGridSize(lvl); + const totalCards = rows * cols; - // Create MATCH_SIZE copies of each image filename + // Build the array: PRIMARY_COUNT copies of the primary image, rest are random distractors const cardImages = []; - selectedImages.forEach((img) => { - for (let k = 0; k < MATCH_SIZE; k += 1) { - cardImages.push(img); - } - }); + for (let i = 0; i < PRIMARY_COUNT; i += 1) { + cardImages.push(PRIMARY_IMAGE); + } + for (let i = PRIMARY_COUNT; i < totalCards; i += 1) { + const idx = Math.floor(Math.random() * DISTRACTOR_IMAGES.length); + cardImages.push(DISTRACTOR_IMAGES[idx]); + } // Fisher-Yates shuffle for (let i = cardImages.length - 1; i > 0; i -= 1) { @@ -165,17 +148,17 @@ export function generateGrid(lvl) { } /** - * Check whether a set of MATCH_SIZE card images all match. + * Check whether a card image is the Primary target image. * - * @param {...string} images - Image filenames to compare; must have MATCH_SIZE arguments. - * @returns {boolean} True if all images are identical. + * @param {string} image - The image filename to check. + * @returns {boolean} True if the image is the Primary target. */ -export function checkMatch(...images) { - return images.length === MATCH_SIZE && images.every((img) => img === images[0]); +export function isPrimary(image) { + return image === PRIMARY_IMAGE; } /** - * Record a correct group match and increment the score. + * Record a correctly found Primary card and increment the score. */ export function addCorrectGroup() { score += 1; diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js index cffec43..7eca107 100644 --- a/app/games/high-speed-memory/index.js +++ b/app/games/high-speed-memory/index.js @@ -10,8 +10,7 @@ import * as game from './game.js'; /** - * Delay in ms before flipping back a wrong-guess group. - * Long enough for the player to see which cards were wrong. + * Delay in ms before a wrongly-clicked Distractor card flips back face-down. */ const WRONG_FLIP_DELAY_MS = 900; @@ -21,9 +20,6 @@ const WRONG_FLIP_DELAY_MS = 900; */ const IMAGES_PATH = 'games/high-speed-memory/images/'; -/** Src for the card-back image (face-down state). */ -const CARD_BACK_SRC = `${IMAGES_PATH}card-back.svg`; - // ── DOM references (populated by init) ──────────────────────────────────────── /** @type {HTMLElement|null} */ @@ -47,6 +43,9 @@ let _stopBtn = null; /** @type {HTMLElement|null} */ let _playAgainBtn = null; +/** @type {HTMLElement|null} */ +let _returnToMenuBtn = null; + /** @type {HTMLElement|null} */ let _gridEl = null; @@ -57,10 +56,7 @@ let _scoreEl = null; let _levelEl = null; /** @type {HTMLElement|null} */ -let _groupsFoundEl = null; - -/** @type {HTMLElement|null} */ -let _groupsTotalEl = null; +let _foundEl = null; /** @type {HTMLElement|null} */ let _countdownEl = null; @@ -83,25 +79,19 @@ let _finalLevelEl = null; let _roundGrid = []; /** - * IDs of cards currently flipped face-up waiting for comparison (up to MATCH_SIZE). - * @type {number[]} - */ -let _flipped = []; - -/** - * When true, card clicks are ignored (during reveal phase or wrong-guess flip-back). + * When true, card clicks are ignored (during reveal phase or wrong-card flip-back). * @type {boolean} */ let _flipLock = false; /** - * Number of groups matched in the current round. + * Number of Primary cards correctly found in the current round. * @type {number} */ -let _groupsFound = 0; +let _primaryFound = 0; /** - * Pending setTimeout handle for flipping wrong guesses back. + * Pending setTimeout handle for flipping a wrong-guess card back. * @type {ReturnType|null} */ let _flipBackTimer = null; @@ -162,10 +152,10 @@ export function updateStats() { } /** - * Update the groups-found counter display. + * Update the "Found: x/3" counter display. */ -export function updateGroupsDisplay() { - if (_groupsFoundEl) _groupsFoundEl.textContent = String(_groupsFound); +export function updateFoundDisplay() { + if (_foundEl) _foundEl.textContent = String(_primaryFound); } /** @@ -179,17 +169,14 @@ export function renderGrid() { const { rows, cols } = game.getGridSize(game.getLevel()); - // Set CSS grid columns and a --cols custom property used by the stylesheet _gridEl.style.gridTemplateColumns = `repeat(${cols}, 1fr)`; _gridEl.style.gridTemplateRows = `repeat(${rows}, 1fr)`; - _gridEl.style.setProperty('--cols', String(cols)); - _gridEl.style.setProperty('--rows', String(rows)); _roundGrid.forEach((card) => { const btn = document.createElement('button'); btn.type = 'button'; btn.className = 'hsm-card hsm-card--revealed'; - btn.setAttribute('aria-label', `Card ${card.id + 1}: revealed`); + btn.setAttribute('aria-label', `Card ${card.id + 1}`); btn.setAttribute('data-id', String(card.id)); btn.setAttribute('data-image', card.image); @@ -209,23 +196,11 @@ export function renderGrid() { }); _gridEl.appendChild(btn); }); - - // Fill remaining grid cells with empty placeholders if n*n is not divisible by MATCH_SIZE - const emptyCount = rows * cols - _roundGrid.length; - for (let i = 0; i < emptyCount; i += 1) { - const placeholder = document.createElement('div'); - placeholder.className = 'hsm-card hsm-card--empty'; - placeholder.setAttribute('aria-hidden', 'true'); - _gridEl.appendChild(placeholder); - } - - if (_groupsTotalEl) { - _groupsTotalEl.textContent = String(_roundGrid.length / game.MATCH_SIZE); - } } /** * Flip a single card face-down in the DOM (does not modify _roundGrid state). + * Hides the card image and removes the revealed styling. * @param {number} cardId - The id of the card to hide. */ export function hideCardEl(cardId) { @@ -234,9 +209,7 @@ export function hideCardEl(cardId) { btn.classList.remove('hsm-card--revealed', 'hsm-card--wrong'); btn.setAttribute('aria-label', `Card ${cardId + 1}: face down`); const img = btn.querySelector('img'); - if (img) { - img.src = CARD_BACK_SRC; - } + if (img) img.style.display = 'none'; } /** @@ -253,11 +226,12 @@ export function revealCardEl(cardId, imageName) { const img = btn.querySelector('img'); if (img) { img.src = `${IMAGES_PATH}${imageName}`; + img.style.display = ''; } } /** - * Apply the "matched" visual state to a card element. + * Apply the "matched" visual state to a card element (correctly found Primary card). * @param {number} cardId - The id of the card to mark as matched. */ export function markCardMatched(cardId) { @@ -266,6 +240,9 @@ export function markCardMatched(cardId) { btn.classList.add('hsm-card--matched'); btn.classList.remove('hsm-card--revealed', 'hsm-card--wrong'); btn.disabled = true; + btn.setAttribute('aria-label', `Card ${cardId + 1}: matched`); + const img = btn.querySelector('img'); + if (img) img.style.display = ''; } /** @@ -290,21 +267,20 @@ export function hideAllCards() { }); if (_countdownEl) _countdownEl.hidden = true; _flipLock = false; - announce('Cards hidden — find the matching groups!'); + announce(`Cards hidden — find the ${game.PRIMARY_COUNT} matching cards!`); } /** * Start a new round: generate a fresh grid, render it revealed, then hide after delay. */ export function startRound() { - _groupsFound = 0; - _flipped = []; + _primaryFound = 0; _flipLock = true; _roundGrid = game.generateGrid(game.getLevel()); renderGrid(); updateStats(); - updateGroupsDisplay(); + updateFoundDisplay(); const displayMs = game.getDisplayDurationMs(game.getLevel()); const ms = displayMs < 1000 @@ -317,71 +293,59 @@ export function startRound() { } announce( - `Level ${game.getLevel() + 1}. Memorize the ${_roundGrid.length} cards. They hide in ${ms}.`, + `Level ${game.getLevel() + 1}. Find the ${game.PRIMARY_COUNT} matching cards. They hide in ${ms}.`, ); _hideTimer = setTimeout(hideAllCards, displayMs); } /** - * Handle a card being clicked (or activated via keyboard). - * Collects MATCH_SIZE flips before checking for a group match. - * Ignores clicks when flip lock is active or the card is already matched/flipped. + * Handle a card click (or keyboard activation). + * Each click is evaluated immediately: + * - Primary card → mark found; advance level when all PRIMARY_COUNT are found. + * - Distractor card → play wrong-guess sound and flip back after WRONG_FLIP_DELAY_MS. + * Clicks are ignored during the reveal phase (flip lock) or on already-matched cards. * * @param {number} cardId - The id of the clicked card. */ export function handleCardClick(cardId) { if (_flipLock) return; - if (_flipped.includes(cardId)) return; const card = _roundGrid.find((c) => c.id === cardId); if (!card || card.matched) return; - // Flip the card face-up + // Reveal the card so the player can see what they clicked revealCardEl(cardId, card.image); - _flipped.push(cardId); - - if (_flipped.length < game.MATCH_SIZE) return; - // MATCH_SIZE cards flipped — evaluate group - _flipLock = true; - const flippedCards = _flipped.map((id) => _roundGrid.find((c) => c.id === id)); - const images = flippedCards.map((c) => c.image); - - if (game.checkMatch(...images)) { - // All MATCH_SIZE cards match - flippedCards.forEach((c) => { - c.matched = true; - markCardMatched(c.id); - }); + if (game.isPrimary(card.image)) { + // Correct — mark this Primary card as found + card.matched = true; + markCardMatched(cardId); game.addCorrectGroup(); - _groupsFound += 1; + _primaryFound += 1; updateStats(); - updateGroupsDisplay(); - announce('Match! Found a group.'); - _flipped = []; - _flipLock = false; + updateFoundDisplay(); + announce(`Found one! ${_primaryFound} of ${game.PRIMARY_COUNT} found.`); - const totalGroups = _roundGrid.length / game.MATCH_SIZE; - if (_groupsFound >= totalGroups) { + if (_primaryFound >= game.PRIMARY_COUNT) { onRoundComplete(); } } else { - // No match — play sound and flip back - flippedCards.forEach((c) => markCardWrong(c.id)); + // Wrong — play sound and flip the Distractor back after a short delay + markCardWrong(cardId); playWrongSound(); - announce('No match. Try again.'); + announce('That is a Distractor. Keep looking!'); + _flipLock = true; _flipBackTimer = setTimeout(() => { - _flipped.forEach((id) => hideCardEl(id)); - _flipped = []; + hideCardEl(cardId); _flipLock = false; }, WRONG_FLIP_DELAY_MS); } } /** - * Called when all groups in the current round have been found. + * Called when all PRIMARY_COUNT cards in the current round have been found. * Advances to the next level and starts a new round. */ function onRoundComplete() { @@ -391,6 +355,16 @@ function onRoundComplete() { setTimeout(startRound, 1200); } +/** + * Dispatch the app-level event to return to the main game-selection screen. + * Safe to call in non-browser (test) environments. + */ +function returnToMainMenu() { + if (typeof window !== 'undefined') { + window.dispatchEvent(new CustomEvent('bsx:return-to-main-menu')); + } +} + /** * Clear any pending timers (used during stop/reset). */ @@ -440,11 +414,11 @@ function init(gameContainer) { _startBtn = _container.querySelector('#hsm-start-btn'); _stopBtn = _container.querySelector('#hsm-stop-btn'); _playAgainBtn = _container.querySelector('#hsm-play-again-btn'); + _returnToMenuBtn = _container.querySelector('#hsm-return-btn'); _gridEl = _container.querySelector('#hsm-grid'); _scoreEl = _container.querySelector('#hsm-score'); _levelEl = _container.querySelector('#hsm-level'); - _groupsFoundEl = _container.querySelector('#hsm-groups-found'); - _groupsTotalEl = _container.querySelector('#hsm-groups-total'); + _foundEl = _container.querySelector('#hsm-found'); _countdownEl = _container.querySelector('#hsm-countdown'); _feedbackEl = _container.querySelector('#hsm-feedback'); _finalScoreEl = _container.querySelector('#hsm-final-score'); @@ -462,6 +436,9 @@ function init(gameContainer) { start(); }); } + if (_returnToMenuBtn) { + _returnToMenuBtn.addEventListener('click', () => returnToMainMenu()); + } } /** @@ -530,9 +507,8 @@ function reset() { game.initGame(); _roundGrid = []; - _flipped = []; _flipLock = false; - _groupsFound = 0; + _primaryFound = 0; if (_gridEl) _gridEl.innerHTML = ''; if (_instructionsEl) _instructionsEl.hidden = false; @@ -542,7 +518,7 @@ function reset() { if (_feedbackEl) _feedbackEl.textContent = ''; updateStats(); - updateGroupsDisplay(); + updateFoundDisplay(); } export default { @@ -552,3 +528,4 @@ export default { stop, reset, }; + diff --git a/app/games/high-speed-memory/interface.html b/app/games/high-speed-memory/interface.html index cae7326..08e0e83 100644 --- a/app/games/high-speed-memory/interface.html +++ b/app/games/high-speed-memory/interface.html @@ -9,14 +9,15 @@

High Speed Memory

How to Play

- A grid of cards will flash open briefly — memorize where each image is! - After they flip back, find all the matching groups of three from memory. + A grid of cards will flash open briefly — remember where the + Primary image appears! + After they flip back, click all three cards that showed the Primary image.

  • Watch closely while the cards are revealed.
  • -
  • After they flip face-down, click three cards you think share the same image.
  • -
  • Matched groups stay revealed. Wrong guesses flip back.
  • -
  • Find every group to advance — grids grow and reveal time shrinks each level!
  • +
  • After they flip face-down, click the three cards showing the Primary image.
  • +
  • Correctly found cards stay revealed. Wrong guesses flip back.
  • +
  • Find all three to advance — grids grow and reveal time shrinks each level!
  • Use Tab to move between cards and Enter or Space to select.
@@ -32,10 +33,7 @@

How to Play

Level: 1 Score: 0 - - Groups: 0 / - 0 - + Found: 0 / 3
@@ -74,14 +72,19 @@

How to Play

- + diff --git a/app/games/high-speed-memory/manifest.json b/app/games/high-speed-memory/manifest.json index 8ff5728..3f116d1 100644 --- a/app/games/high-speed-memory/manifest.json +++ b/app/games/high-speed-memory/manifest.json @@ -4,6 +4,6 @@ "description": "Memorize the grid of cards, then find all the matching pairs from memory!", "version": "1.0.0", "entryPoint": "index.js", - "thumbnail": "images/thumbnail.svg", + "thumbnail": "images/thumbnail.jpg", "author": "BrainSpeed Exercises" } diff --git a/app/games/high-speed-memory/style.css b/app/games/high-speed-memory/style.css index b4e473e..fb1de2e 100644 --- a/app/games/high-speed-memory/style.css +++ b/app/games/high-speed-memory/style.css @@ -105,11 +105,14 @@ /* ── Card grid ───────────────────────────────────────────────── */ .hsm-grid { display: grid; - gap: 0.4rem; - /* Responsive square grid that fills available space */ - width: min(90vw, calc(100vh - 260px)); - height: min(90vw, calc(100vh - 260px)); - max-width: 100%; + gap: 6px; + /* vmin = min(vw, vh) — creates a square that fits within the viewport */ + width: 70vmin; + height: 70vmin; + min-width: 200px; + min-height: 200px; + max-width: 90vw; + max-height: 80vh; margin: 0 auto; flex-shrink: 0; } @@ -251,9 +254,16 @@ margin: 0 0 0.5rem; } -.hsm-end-panel .hsm-btn { +.hsm-end-panel__actions { + display: flex; + gap: 0.75rem; + flex-wrap: wrap; + justify-content: center; margin-top: 1rem; - padding: 0.65rem 2rem; +} + +.hsm-end-panel .hsm-btn { + padding: 0.65rem 1.5rem; } /* ── Respect hidden attribute ────────────────────────────────── */ diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js index d2dd7c2..da2b83e 100644 --- a/app/games/high-speed-memory/tests/game.test.js +++ b/app/games/high-speed-memory/tests/game.test.js @@ -4,8 +4,9 @@ import { } from '@jest/globals'; import { - CARD_IMAGES, - MATCH_SIZE, + PRIMARY_IMAGE, + DISTRACTOR_IMAGES, + PRIMARY_COUNT, BASE_DISPLAY_MS, DISPLAY_DECREMENT_MS, MIN_DISPLAY_MS, @@ -13,10 +14,9 @@ import { startGame, stopGame, getGridSize, - getActiveCardCount, getDisplayDurationMs, generateGrid, - checkMatch, + isPrimary, addCorrectGroup, completeRound, getScore, @@ -31,21 +31,32 @@ beforeEach(() => { // ── Constants ───────────────────────────────────────────────────────────────── -describe('CARD_IMAGES', () => { - test('is an array of strings', () => { - expect(Array.isArray(CARD_IMAGES)).toBe(true); - CARD_IMAGES.forEach((s) => expect(typeof s).toBe('string')); +describe('PRIMARY_IMAGE', () => { + test('is a non-empty string', () => { + expect(typeof PRIMARY_IMAGE).toBe('string'); + expect(PRIMARY_IMAGE.length).toBeGreaterThan(0); }); - test('has enough images for a level-9 grid (12x12 = 48 groups)', () => { - const level9Groups = getActiveCardCount(9) / MATCH_SIZE; - expect(CARD_IMAGES.length).toBeGreaterThanOrEqual(level9Groups); + test('is Primary.jpg', () => { + expect(PRIMARY_IMAGE).toBe('Primary.jpg'); }); }); -describe('MATCH_SIZE', () => { +describe('DISTRACTOR_IMAGES', () => { + test('is a non-empty array of strings', () => { + expect(Array.isArray(DISTRACTOR_IMAGES)).toBe(true); + expect(DISTRACTOR_IMAGES.length).toBeGreaterThan(0); + DISTRACTOR_IMAGES.forEach((s) => expect(typeof s).toBe('string')); + }); + + test('does not contain the PRIMARY_IMAGE', () => { + expect(DISTRACTOR_IMAGES).not.toContain(PRIMARY_IMAGE); + }); +}); + +describe('PRIMARY_COUNT', () => { test('is 3', () => { - expect(MATCH_SIZE).toBe(3); + expect(PRIMARY_COUNT).toBe(3); }); }); @@ -175,27 +186,6 @@ describe('getGridSize', () => { }); }); -// ── getActiveCardCount ──────────────────────────────────────────────────────── - -describe('getActiveCardCount', () => { - test('is always divisible by MATCH_SIZE', () => { - for (let i = 0; i < 10; i += 1) { - expect(getActiveCardCount(i) % MATCH_SIZE).toBe(0); - } - }); - - test('is at most rows×cols', () => { - for (let i = 0; i < 10; i += 1) { - const { rows, cols } = getGridSize(i); - expect(getActiveCardCount(i)).toBeLessThanOrEqual(rows * cols); - } - }); - - test('level 0 (3×3=9) returns 9', () => { - expect(getActiveCardCount(0)).toBe(9); - }); -}); - // ── getDisplayDurationMs ────────────────────────────────────────────────────── describe('getDisplayDurationMs', () => { @@ -220,17 +210,22 @@ describe('getDisplayDurationMs', () => { // ── generateGrid ────────────────────────────────────────────────────────────── describe('generateGrid', () => { - test('returns getActiveCardCount cards', () => { - expect(generateGrid(0).length).toBe(getActiveCardCount(0)); + test('returns rows×cols cards (full grid)', () => { + const { rows, cols } = getGridSize(0); + expect(generateGrid(0).length).toBe(rows * cols); + }); + + test('contains exactly PRIMARY_COUNT copies of PRIMARY_IMAGE', () => { + const grid = generateGrid(0); + const primaryCards = grid.filter((c) => c.image === PRIMARY_IMAGE); + expect(primaryCards.length).toBe(PRIMARY_COUNT); }); - test('each image appears exactly MATCH_SIZE times', () => { + test('all non-Primary cards use DISTRACTOR_IMAGES', () => { const grid = generateGrid(0); - const counts = {}; - grid.forEach(({ image }) => { - counts[image] = (counts[image] || 0) + 1; + grid.filter((c) => c.image !== PRIMARY_IMAGE).forEach((c) => { + expect(DISTRACTOR_IMAGES).toContain(c.image); }); - Object.values(counts).forEach((count) => expect(count).toBe(MATCH_SIZE)); }); test('all cards start as unmatched', () => { @@ -243,43 +238,34 @@ describe('generateGrid', () => { grid.forEach((card, i) => expect(card.id).toBe(i)); }); - test('each card has an image property that is a non-empty string', () => { - const grid = generateGrid(0); - grid.forEach((card) => { - expect(typeof card.image).toBe('string'); - expect(card.image.length).toBeGreaterThan(0); - }); + test('grid is full-sized at level 1 (4×4 = 16 cards)', () => { + expect(generateGrid(1).length).toBe(16); }); - test('produces correct card count for several levels', () => { - [0, 1, 2, 3, 4].forEach((lvl) => { - expect(generateGrid(lvl).length).toBe(getActiveCardCount(lvl)); + test('PRIMARY_COUNT primary cards present at higher levels', () => { + [1, 2, 3, 4].forEach((lvl) => { + const grid = generateGrid(lvl); + const primaries = grid.filter((c) => c.image === PRIMARY_IMAGE); + expect(primaries.length).toBe(PRIMARY_COUNT); }); }); }); -// ── checkMatch ──────────────────────────────────────────────────────────────── - -describe('checkMatch', () => { - test('returns true when all MATCH_SIZE images are equal', () => { - expect(checkMatch('card-01.svg', 'card-01.svg', 'card-01.svg')).toBe(true); - }); +// ── isPrimary ───────────────────────────────────────────────────────────────── - test('returns false when any image differs', () => { - expect(checkMatch('card-01.svg', 'card-01.svg', 'card-02.svg')).toBe(false); +describe('isPrimary', () => { + test('returns true for PRIMARY_IMAGE', () => { + expect(isPrimary(PRIMARY_IMAGE)).toBe(true); }); - test('returns false when first and last differ', () => { - expect(checkMatch('card-01.svg', 'card-02.svg', 'card-01.svg')).toBe(false); - }); - - test('returns false with fewer than MATCH_SIZE arguments', () => { - expect(checkMatch('card-01.svg', 'card-01.svg')).toBe(false); + test('returns false for each DISTRACTOR_IMAGE', () => { + DISTRACTOR_IMAGES.forEach((img) => { + expect(isPrimary(img)).toBe(false); + }); }); - test('returns false with more than MATCH_SIZE arguments all equal', () => { - const args = Array(MATCH_SIZE + 1).fill('card-01.svg'); - expect(checkMatch(...args)).toBe(false); + test('returns false for an empty string', () => { + expect(isPrimary('')).toBe(false); }); }); diff --git a/app/games/high-speed-memory/tests/index.test.js b/app/games/high-speed-memory/tests/index.test.js index 155df4a..9f99d7e 100644 --- a/app/games/high-speed-memory/tests/index.test.js +++ b/app/games/high-speed-memory/tests/index.test.js @@ -2,11 +2,9 @@ import { jest, describe, test, expect, beforeEach, afterEach } from '@jest/globa // Mock game.js so index.js can be tested in isolation. jest.unstable_mockModule('../game.js', () => ({ - CARD_IMAGES: [ - 'card-01.svg', 'card-02.svg', 'card-03.svg', - 'card-04.svg', 'card-05.svg', 'card-06.svg', - ], - MATCH_SIZE: 3, + PRIMARY_IMAGE: 'Primary.jpg', + DISTRACTOR_IMAGES: ['Distractor1.jpg', 'Distractor2.jpg'], + PRIMARY_COUNT: 3, BASE_DISPLAY_MS: 500, DISPLAY_DECREMENT_MS: 24, MIN_DISPLAY_MS: 20, @@ -14,20 +12,20 @@ jest.unstable_mockModule('../game.js', () => ({ startGame: jest.fn(), stopGame: jest.fn(() => ({ score: 5, level: 2, roundsCompleted: 2, duration: 12000 })), getGridSize: jest.fn(() => ({ rows: 3, cols: 3 })), - getActiveCardCount: jest.fn(() => 9), getDisplayDurationMs: jest.fn(() => 500), + // 3×3 grid: cards 0, 4, 8 are Primary; rest are Distractors generateGrid: jest.fn(() => [ - { id: 0, image: 'card-01.svg', matched: false }, - { id: 1, image: 'card-02.svg', matched: false }, - { id: 2, image: 'card-03.svg', matched: false }, - { id: 3, image: 'card-01.svg', matched: false }, - { id: 4, image: 'card-02.svg', matched: false }, - { id: 5, image: 'card-03.svg', matched: false }, - { id: 6, image: 'card-01.svg', matched: false }, - { id: 7, image: 'card-02.svg', matched: false }, - { id: 8, image: 'card-03.svg', matched: false }, + { id: 0, image: 'Primary.jpg', matched: false }, + { id: 1, image: 'Distractor1.jpg', matched: false }, + { id: 2, image: 'Distractor2.jpg', matched: false }, + { id: 3, image: 'Distractor1.jpg', matched: false }, + { id: 4, image: 'Primary.jpg', matched: false }, + { id: 5, image: 'Distractor2.jpg', matched: false }, + { id: 6, image: 'Distractor1.jpg', matched: false }, + { id: 7, image: 'Distractor2.jpg', matched: false }, + { id: 8, image: 'Primary.jpg', matched: false }, ]), - checkMatch: jest.fn((a, b, c) => a === b && b === c), + isPrimary: jest.fn((img) => img === 'Primary.jpg'), addCorrectGroup: jest.fn(), completeRound: jest.fn(), getScore: jest.fn(() => 5), @@ -41,7 +39,7 @@ const plugin = pluginModule.default; const { announce, updateStats, - updateGroupsDisplay, + updateFoundDisplay, renderGrid, hideCardEl, revealCardEl, @@ -67,11 +65,11 @@ function buildContainer() { +
0 1 - 0 - 0 + 0
0 @@ -184,18 +182,16 @@ describe('stop', () => { }); test('clears pending flip-back timer on stop', () => { - jest.runAllTimers(); // hide cards (release flip lock) - handleCardClick(0); - handleCardClick(1); - handleCardClick(2); // wrong group (0+1+2 = card-01+card-02+card-03 — no match) + jest.runAllTimers(); // release flip lock + handleCardClick(1); // Distractor — triggers flip-back timer expect(() => plugin.stop()).not.toThrow(); }); test('invokes window.api.invoke with correct progress:save format', async () => { const mockApi = { invoke: jest.fn() - .mockResolvedValueOnce({ playerId: 'default', games: {} }) // progress:load - .mockResolvedValueOnce(undefined), // progress:save + .mockResolvedValueOnce({ playerId: 'default', games: {} }) + .mockResolvedValueOnce(undefined), }; globalThis.window = globalThis.window || {}; const originalApi = globalThis.window.api; @@ -271,9 +267,7 @@ describe('reset', () => { test('clears pending flip-back timer on reset', () => { jest.runAllTimers(); // release flip lock - handleCardClick(0); - handleCardClick(1); - handleCardClick(2); // trigger no-match flip-back timer + handleCardClick(1); // Distractor — triggers flip-back timer expect(() => plugin.reset()).not.toThrow(); }); }); @@ -296,6 +290,28 @@ describe('play again button', () => { }); }); +// ── return-to-menu button ───────────────────────────────────────────────────── + +describe('return to menu button', () => { + test('dispatches bsx:return-to-main-menu event when clicked', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + plugin.start(); + plugin.stop(); + + let eventFired = false; + const handler = () => { eventFired = true; }; + window.addEventListener('bsx:return-to-main-menu', handler, { once: true }); + + const returnBtn = container.querySelector('#hsm-return-btn'); + returnBtn.click(); + + expect(eventFired).toBe(true); + jest.useRealTimers(); + }); +}); + // ── playWrongSound ──────────────────────────────────────────────────────────── describe('playWrongSound', () => { @@ -329,8 +345,6 @@ describe('playWrongSound', () => { expect(() => playWrongSound()).not.toThrow(); expect(mockOsc.start).toHaveBeenCalled(); - - // Trigger the onended callback to cover the close() branch if (mockOsc.onended) mockOsc.onended(); globalThis.AudioContext = OriginalAudioContext; @@ -370,7 +384,7 @@ describe('updateStats', () => { plugin.init(container); updateStats(); expect(container.querySelector('#hsm-score').textContent).toBe('5'); - expect(container.querySelector('#hsm-level').textContent).toBe('3'); // level 2 + 1 + expect(container.querySelector('#hsm-level').textContent).toBe('3'); }); test('does not throw when elements are absent', () => { @@ -379,19 +393,19 @@ describe('updateStats', () => { }); }); -// ── updateGroupsDisplay ─────────────────────────────────────────────────────── +// ── updateFoundDisplay ──────────────────────────────────────────────────────── -describe('updateGroupsDisplay', () => { - test('does not throw when groups element is absent', () => { +describe('updateFoundDisplay', () => { + test('does not throw when found element is absent', () => { plugin.init(document.createElement('div')); - expect(() => updateGroupsDisplay()).not.toThrow(); + expect(() => updateFoundDisplay()).not.toThrow(); }); - test('updates groups-found element', () => { + test('updates found element', () => { const container = buildContainer(); plugin.init(container); - updateGroupsDisplay(); - expect(container.querySelector('#hsm-groups-found').textContent).toBe('0'); + updateFoundDisplay(); + expect(container.querySelector('#hsm-found').textContent).toBe('0'); }); }); @@ -408,22 +422,6 @@ describe('renderGrid', () => { jest.useRealTimers(); }); - test('renders empty placeholder cells when grid is not fully divisible by MATCH_SIZE', () => { - jest.useFakeTimers(); - const container = buildContainer(); - plugin.init(container); - // startRound sets _roundGrid to 9 cards via the mock - startRound(); - // Override getGridSize for this renderGrid call to simulate a 4×4 grid (16 cells, 9 active) - gameMock.getGridSize.mockReturnValueOnce({ rows: 4, cols: 4 }); - renderGrid(); - // Should have 9 card buttons + 7 empty placeholder divs = 16 children - const grid = container.querySelector('#hsm-grid'); - const empties = grid.querySelectorAll('.hsm-card--empty'); - expect(empties.length).toBe(7); - jest.useRealTimers(); - }); - test('does not throw when grid element is absent', () => { plugin.init(document.createElement('div')); expect(() => renderGrid()).not.toThrow(); @@ -456,9 +454,9 @@ describe('renderGrid', () => { startRound(); jest.runAllTimers(); // hide cards so flipLock is false - const btn = container.querySelector('[data-id="0"]'); + const btn = container.querySelector('[data-id="0"]'); // Primary card btn.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true })); - expect(btn.classList.contains('hsm-card--revealed')).toBe(true); + expect(btn.classList.contains('hsm-card--matched')).toBe(true); jest.useRealTimers(); }); @@ -469,9 +467,9 @@ describe('renderGrid', () => { startRound(); jest.runAllTimers(); - const btn = container.querySelector('[data-id="0"]'); + const btn = container.querySelector('[data-id="0"]'); // Primary card btn.dispatchEvent(new KeyboardEvent('keydown', { key: ' ', bubbles: true })); - expect(btn.classList.contains('hsm-card--revealed')).toBe(true); + expect(btn.classList.contains('hsm-card--matched')).toBe(true); jest.useRealTimers(); }); @@ -482,9 +480,10 @@ describe('renderGrid', () => { startRound(); jest.runAllTimers(); - const btn = container.querySelector('[data-id="0"]'); + const btn = container.querySelector('[data-id="0"]'); // Primary card btn.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', bubbles: true })); - expect(btn.classList.contains('hsm-card--revealed')).toBe(false); + // Primary card should NOT be matched since Tab was pressed + expect(btn.classList.contains('hsm-card--matched')).toBe(false); jest.useRealTimers(); }); }); @@ -512,29 +511,40 @@ describe('card element manipulation', () => { expect(btn.classList.contains('hsm-card--revealed')).toBe(false); }); + test('hideCardEl hides the img element and updates aria-label', () => { + const btn = container.querySelector('[data-id="0"]'); + hideCardEl(0); + const img = btn.querySelector('img'); + expect(img.style.display).toBe('none'); + expect(btn.getAttribute('aria-label')).toContain('face down'); + }); + test('revealCardEl adds revealed class', () => { const btn = container.querySelector('[data-id="0"]'); - revealCardEl(0, 'card-01.svg'); + revealCardEl(0, 'Primary.jpg'); expect(btn.classList.contains('hsm-card--revealed')).toBe(true); }); - test('revealCardEl updates img src', () => { + test('revealCardEl un-hides the img element and sets the correct src', () => { const btn = container.querySelector('[data-id="0"]'); - revealCardEl(0, 'card-01.svg'); + hideCardEl(0); + revealCardEl(0, 'Primary.jpg'); const img = btn.querySelector('img'); - expect(img.src).toContain('card-01.svg'); + expect(img.style.display).toBe(''); + expect(img.src).toContain('Primary.jpg'); }); - test('markCardMatched adds matched class and disables button', () => { + test('markCardMatched adds matched class, disables button, and updates aria-label', () => { markCardMatched(0); const btn = container.querySelector('[data-id="0"]'); expect(btn.classList.contains('hsm-card--matched')).toBe(true); expect(btn.disabled).toBe(true); + expect(btn.getAttribute('aria-label')).toContain('matched'); }); test('markCardWrong adds wrong class', () => { - markCardWrong(0); - const btn = container.querySelector('[data-id="0"]'); + markCardWrong(1); + const btn = container.querySelector('[data-id="1"]'); expect(btn.classList.contains('hsm-card--wrong')).toBe(true); }); @@ -543,7 +553,7 @@ describe('card element manipulation', () => { }); test('revealCardEl does not throw for unknown card id', () => { - expect(() => revealCardEl(9999, 'card-01.svg')).not.toThrow(); + expect(() => revealCardEl(9999, 'Primary.jpg')).not.toThrow(); }); test('markCardMatched does not throw for unknown card id', () => { @@ -622,77 +632,63 @@ describe('handleCardClick', () => { plugin.init(container); startRound(); // flip lock active during reveal expect(() => handleCardClick(0)).not.toThrow(); + // flip lock prevents card from being matched + const btn = container.querySelector('[data-id="0"]'); + expect(btn.classList.contains('hsm-card--matched')).toBe(false); }); - test('ignores clicking the same card twice', () => { + test('ignores clicks on matched cards', () => { const container = buildContainer(); plugin.init(container); startRound(); jest.runAllTimers(); // release flip lock - handleCardClick(0); - expect(() => handleCardClick(0)).not.toThrow(); + handleCardClick(0); // Primary → matched + expect(() => handleCardClick(0)).not.toThrow(); // already matched }); - test('ignores clicks on matched cards', () => { + test('marks Primary card as matched on click', () => { const container = buildContainer(); plugin.init(container); startRound(); jest.runAllTimers(); // release flip lock - // Match a group: cards 0, 3, 6 all have 'card-01.svg' - handleCardClick(0); - handleCardClick(3); - handleCardClick(6); // triggers match - jest.runAllTimers(); - expect(() => handleCardClick(0)).not.toThrow(); // matched card — ignored + handleCardClick(0); // Primary card + const btn = container.querySelector('[data-id="0"]'); + expect(btn.classList.contains('hsm-card--matched')).toBe(true); }); - test('marks wrong group with wrong class and calls playWrongSound', () => { + test('marks Distractor card with wrong class', () => { const container = buildContainer(); plugin.init(container); startRound(); jest.runAllTimers(); // release flip lock - // Cards 0 (card-01), 1 (card-02), 2 (card-03) — no match - handleCardClick(0); - handleCardClick(1); - handleCardClick(2); - const btn0 = container.querySelector('[data-id="0"]'); - expect(btn0.classList.contains('hsm-card--wrong')).toBe(true); + handleCardClick(1); // Distractor1.jpg + const btn = container.querySelector('[data-id="1"]'); + expect(btn.classList.contains('hsm-card--wrong')).toBe(true); }); - test('flips wrong group back after delay', () => { + test('flips Distractor card back after delay', () => { const container = buildContainer(); plugin.init(container); startRound(); jest.runAllTimers(); // release flip lock - handleCardClick(0); - handleCardClick(1); - handleCardClick(2); // no match - const btn0 = container.querySelector('[data-id="0"]'); + handleCardClick(1); // Distractor — sets flip lock + flip-back timer jest.runAllTimers(); // trigger flip-back - expect(btn0.classList.contains('hsm-card--revealed')).toBe(false); + const btn = container.querySelector('[data-id="1"]'); + expect(btn.classList.contains('hsm-card--revealed')).toBe(false); }); - test('advances to next round when all groups matched', () => { + test('advances to next round when all PRIMARY_COUNT Primary cards found', () => { const container = buildContainer(); plugin.init(container); startRound(); jest.runAllTimers(); // release flip lock - // Match group 1: cards 0,3,6 → card-01.svg + // Cards 0, 4, 8 are Primary in the mock grid handleCardClick(0); - handleCardClick(3); - handleCardClick(6); - // Match group 2: cards 1,4,7 → card-02.svg - handleCardClick(1); handleCardClick(4); - handleCardClick(7); - // Match group 3: cards 2,5,8 → card-03.svg → triggers onRoundComplete - handleCardClick(2); - handleCardClick(5); - handleCardClick(8); + handleCardClick(8); // 3rd Primary → triggers onRoundComplete expect(gameMock.completeRound).toHaveBeenCalled(); jest.runAllTimers(); // inter-round delay }); }); - From ecc95e3875019932a967a68b00385abfbf0cdab3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 00:59:18 +0000 Subject: [PATCH 10/15] fix: inject game stylesheet via interface.js so CSS grid renders correctly Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/interface.js | 62 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/app/interface.js b/app/interface.js index 4cd6547..7c05d58 100644 --- a/app/interface.js +++ b/app/interface.js @@ -8,6 +8,47 @@ import { createGameCard } from './components/gameCard.js'; +/** + * Inject a game-specific stylesheet into the document . + * Replaces any previously injected game stylesheet so only one is active at a time. + * + * @param {string} gameId - The game ID; its style.css lives at games/{gameId}/style.css. + */ +function injectGameStylesheet(gameId) { + const existing = document.getElementById('active-game-stylesheet'); + if (existing) existing.remove(); + const link = document.createElement('link'); + link.id = 'active-game-stylesheet'; + link.rel = 'stylesheet'; + link.href = `./games/${gameId}/style.css`; + document.head.appendChild(link); +} + +/** + * Remove the active game stylesheet from the document . + * Called when returning to the main game-selection screen. + */ +function removeGameStylesheet() { + const existing = document.getElementById('active-game-stylesheet'); + if (existing) existing.remove(); +} + +/** + * Load a game into the game container and initialise its plugin. + * + * @param {string} gameId - The ID of the game to load. + * @param {HTMLElement} gameContainer - The element that will receive the game HTML. + * @param {HTMLElement} announcer - Aria-live element for accessibility announcements. + */ +async function loadAndInitGame(gameId, gameContainer, announcer) { + const result = await window.api.invoke('games:load', gameId); + gameContainer.innerHTML = result.html; + injectGameStylesheet(gameId); + announcer.textContent = `${result.manifest.name} loaded. Get ready to play!`; + const mod = await import(`./games/${gameId}/${result.manifest.entryPoint}`); + mod.default.init(gameContainer); +} + /** * DOMContentLoaded event handler. Sets up the game selection UI and plugin loader. * @returns {Promise} @@ -50,29 +91,20 @@ document.addEventListener('DOMContentLoaded', async () => { */ gameSelector.addEventListener('game:select', async (event) => { const { gameId } = event.detail; - const result = await window.api.invoke('games:load', gameId); - gameSelector.remove(); - gameContainer.innerHTML = result.html; - - announcer.textContent = `${result.manifest.name} loaded. Get ready to play!`; - - // Dynamically import the game plugin and initialise it so that the - // instructions panel and start button become active. - const mod = await import(`./games/${gameId}/${result.manifest.entryPoint}`); - mod.default.init(gameContainer); + await loadAndInitGame(gameId, gameContainer, announcer); }); // Listen for custom event to return to main menu from any game window.addEventListener('bsx:return-to-main-menu', () => { - // Remove any game UI + // Remove any game UI and its stylesheet gameContainer.innerHTML = ''; + removeGameStylesheet(); // Restore the game selector if (!document.getElementById('game-selector')) { const selector = document.createElement('section'); selector.id = 'game-selector'; selector.setAttribute('aria-label', 'Available games'); gameContainer.appendChild(selector); - // Re-render game cards // Reload progress and game cards Promise.all([ window.api.invoke('progress:load', { playerId: 'default' }), @@ -89,12 +121,8 @@ document.addEventListener('DOMContentLoaded', async () => { // Re-attach event listener for game selection selector.addEventListener('game:select', async (event) => { const { gameId } = event.detail; - const result = await window.api.invoke('games:load', gameId); selector.remove(); - gameContainer.innerHTML = result.html; - announcer.textContent = `${result.manifest.name} loaded. Get ready to play!`; - const mod = await import(`./games/${gameId}/${result.manifest.entryPoint}`); - mod.default.init(gameContainer); + await loadAndInitGame(gameId, gameContainer, announcer); }); } announcer.textContent = 'Main menu loaded. Select a game.'; From 3d85f50ab7d50afff527b3cae07b54d6049f62ae Mon Sep 17 00:00:00 2001 From: Aaron Crosman Date: Wed, 18 Mar 2026 21:21:34 -0400 Subject: [PATCH 11/15] Adjust game timing --- app/games/high-speed-memory/game.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/games/high-speed-memory/game.js b/app/games/high-speed-memory/game.js index e9f1932..b16678a 100644 --- a/app/games/high-speed-memory/game.js +++ b/app/games/high-speed-memory/game.js @@ -26,10 +26,10 @@ export const DISTRACTOR_IMAGES = ['Distractor1.jpg', 'Distractor2.jpg']; export const PRIMARY_COUNT = 3; /** Initial card-reveal display duration in milliseconds (level 0). */ -export const BASE_DISPLAY_MS = 500; +export const BASE_DISPLAY_MS = 1500; /** Amount to reduce display duration per level (ms). */ -export const DISPLAY_DECREMENT_MS = 24; +export const DISPLAY_DECREMENT_MS = 25; /** Minimum display duration regardless of level (ms). */ export const MIN_DISPLAY_MS = 20; From 0e6e9d324122369f5829524c76e7880ab7409a75 Mon Sep 17 00:00:00 2001 From: Aaron Crosman Date: Wed, 18 Mar 2026 21:23:15 -0400 Subject: [PATCH 12/15] Updated test for starting pause. --- app/games/high-speed-memory/tests/game.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js index da2b83e..738cf30 100644 --- a/app/games/high-speed-memory/tests/game.test.js +++ b/app/games/high-speed-memory/tests/game.test.js @@ -62,7 +62,7 @@ describe('PRIMARY_COUNT', () => { describe('display timing constants', () => { test('BASE_DISPLAY_MS is 500', () => { - expect(BASE_DISPLAY_MS).toBe(500); + expect(BASE_DISPLAY_MS).toBe(1500); }); test('MIN_DISPLAY_MS is 20', () => { From bb449a1c6dbf26c77e40ae1e6bb22aa72000d167 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 01:39:10 +0000 Subject: [PATCH 13/15] feat: require 3 consecutive correct rounds to advance a level in High Speed Memory Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/game.js | 41 +++++++- app/games/high-speed-memory/index.js | 31 +++++- app/games/high-speed-memory/interface.html | 3 +- .../high-speed-memory/tests/game.test.js | 94 +++++++++++++++++-- .../high-speed-memory/tests/index.test.js | 36 ++++++- 5 files changed, 187 insertions(+), 18 deletions(-) diff --git a/app/games/high-speed-memory/game.js b/app/games/high-speed-memory/game.js index b16678a..a6be663 100644 --- a/app/games/high-speed-memory/game.js +++ b/app/games/high-speed-memory/game.js @@ -25,6 +25,12 @@ export const DISTRACTOR_IMAGES = ['Distractor1.jpg', 'Distractor2.jpg']; */ export const PRIMARY_COUNT = 3; +/** + * Number of consecutive correct rounds (no wrong guesses) required to advance one level. + * A wrong guess in any round resets this streak back to zero. + */ +export const ROUNDS_TO_LEVEL_UP = 3; + /** Initial card-reveal display duration in milliseconds (level 0). */ export const BASE_DISPLAY_MS = 1500; @@ -43,6 +49,13 @@ let level = 0; /** @type {number} */ let roundsCompleted = 0; +/** + * Number of consecutive correct rounds completed without a wrong guess. + * Resets to 0 after a wrong guess or after reaching ROUNDS_TO_LEVEL_UP. + * @type {number} + */ +let consecutiveCorrectRounds = 0; + /** @type {boolean} */ let running = false; @@ -56,6 +69,7 @@ export function initGame() { score = 0; level = 0; roundsCompleted = 0; + consecutiveCorrectRounds = 0; running = false; startTime = null; } @@ -165,11 +179,26 @@ export function addCorrectGroup() { } /** - * Mark the current round as complete and advance to the next level. + * Mark the current round as complete. + * Increments the consecutive-correct-rounds streak. + * The level only advances when ROUNDS_TO_LEVEL_UP consecutive correct rounds are reached, + * at which point the streak resets to zero. */ export function completeRound() { roundsCompleted += 1; - level += 1; + consecutiveCorrectRounds += 1; + if (consecutiveCorrectRounds >= ROUNDS_TO_LEVEL_UP) { + level += 1; + consecutiveCorrectRounds = 0; + } +} + +/** + * Reset the consecutive-correct-rounds streak to zero. + * Called when the player clicks a Distractor card (wrong guess). + */ +export function resetConsecutiveRounds() { + consecutiveCorrectRounds = 0; } /** @@ -196,6 +225,14 @@ export function getRoundsCompleted() { return roundsCompleted; } +/** + * Get the current consecutive-correct-rounds streak. + * @returns {number} + */ +export function getConsecutiveCorrectRounds() { + return consecutiveCorrectRounds; +} + /** * Check whether the game is currently running. * @returns {boolean} diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js index 7eca107..18d4d65 100644 --- a/app/games/high-speed-memory/index.js +++ b/app/games/high-speed-memory/index.js @@ -70,6 +70,9 @@ let _finalScoreEl = null; /** @type {HTMLElement|null} */ let _finalLevelEl = null; +/** @type {HTMLElement|null} */ +let _streakEl = null; + // ── Round state (reset each round) ──────────────────────────────────────────── /** @@ -144,11 +147,12 @@ export function announce(msg) { } /** - * Update the score and level displays. + * Update the score, level, and streak displays. */ export function updateStats() { if (_scoreEl) _scoreEl.textContent = String(game.getScore()); if (_levelEl) _levelEl.textContent = String(game.getLevel() + 1); + if (_streakEl) _streakEl.textContent = String(game.getConsecutiveCorrectRounds()); } /** @@ -331,10 +335,11 @@ export function handleCardClick(cardId) { onRoundComplete(); } } else { - // Wrong — play sound and flip the Distractor back after a short delay + // Wrong — reset the level-up streak, play sound, and flip the Distractor back + game.resetConsecutiveRounds(); markCardWrong(cardId); playWrongSound(); - announce('That is a Distractor. Keep looking!'); + announce('That is a Distractor. Streak reset — keep looking!'); _flipLock = true; _flipBackTimer = setTimeout(() => { @@ -346,11 +351,25 @@ export function handleCardClick(cardId) { /** * Called when all PRIMARY_COUNT cards in the current round have been found. - * Advances to the next level and starts a new round. + * Advances the level-up streak (and level if streak reaches ROUNDS_TO_LEVEL_UP), + * then starts the next round after a brief pause. */ function onRoundComplete() { game.completeRound(); - announce(`Round complete! Starting level ${game.getLevel() + 1}.`); + updateStats(); + + // After completeRound: consecutiveCorrectRounds resets to 0 on level advance + const leveledUp = game.getConsecutiveCorrectRounds() === 0; + if (leveledUp) { + announce(`Level up! Welcome to level ${game.getLevel() + 1}.`); + } else { + const streak = game.getConsecutiveCorrectRounds(); + const needed = game.ROUNDS_TO_LEVEL_UP; + announce( + `Round complete! ${streak} of ${needed} in a row — ${needed - streak} more to level up!`, + ); + } + // Brief pause so the player sees the completed board before the next round starts setTimeout(startRound, 1200); } @@ -423,6 +442,7 @@ function init(gameContainer) { _feedbackEl = _container.querySelector('#hsm-feedback'); _finalScoreEl = _container.querySelector('#hsm-final-score'); _finalLevelEl = _container.querySelector('#hsm-final-level'); + _streakEl = _container.querySelector('#hsm-streak'); if (_startBtn) { _startBtn.addEventListener('click', () => start()); @@ -516,6 +536,7 @@ function reset() { if (_endPanelEl) _endPanelEl.hidden = true; if (_countdownEl) _countdownEl.hidden = true; if (_feedbackEl) _feedbackEl.textContent = ''; + if (_streakEl) _streakEl.textContent = '0'; updateStats(); updateFoundDisplay(); diff --git a/app/games/high-speed-memory/interface.html b/app/games/high-speed-memory/interface.html index 08e0e83..5a68deb 100644 --- a/app/games/high-speed-memory/interface.html +++ b/app/games/high-speed-memory/interface.html @@ -17,7 +17,7 @@

How to Play

  • Watch closely while the cards are revealed.
  • After they flip face-down, click the three cards showing the Primary image.
  • Correctly found cards stay revealed. Wrong guesses flip back.
  • -
  • Find all three to advance — grids grow and reveal time shrinks each level!
  • +
  • Find all three to complete a round — complete 3 rounds in a row without a wrong guess to advance to the next level with a larger grid and shorter reveal time!
  • Use Tab to move between cards and Enter or Space to select.
  • @@ -34,6 +34,7 @@

    How to Play

    Level: 1 Score: 0 Found: 0 / 3 + Streak: 0 / 3 diff --git a/app/games/high-speed-memory/tests/game.test.js b/app/games/high-speed-memory/tests/game.test.js index 738cf30..a41748c 100644 --- a/app/games/high-speed-memory/tests/game.test.js +++ b/app/games/high-speed-memory/tests/game.test.js @@ -7,6 +7,7 @@ import { PRIMARY_IMAGE, DISTRACTOR_IMAGES, PRIMARY_COUNT, + ROUNDS_TO_LEVEL_UP, BASE_DISPLAY_MS, DISPLAY_DECREMENT_MS, MIN_DISPLAY_MS, @@ -19,9 +20,11 @@ import { isPrimary, addCorrectGroup, completeRound, + resetConsecutiveRounds, getScore, getLevel, getRoundsCompleted, + getConsecutiveCorrectRounds, isRunning, } from '../game.js'; @@ -60,6 +63,12 @@ describe('PRIMARY_COUNT', () => { }); }); +describe('ROUNDS_TO_LEVEL_UP', () => { + test('is 3', () => { + expect(ROUNDS_TO_LEVEL_UP).toBe(3); + }); +}); + describe('display timing constants', () => { test('BASE_DISPLAY_MS is 500', () => { expect(BASE_DISPLAY_MS).toBe(1500); @@ -84,7 +93,10 @@ describe('initGame', () => { }); test('resets level to 0', () => { - completeRound(); + // Need 3 completeRound calls to advance level + for (let i = 0; i < ROUNDS_TO_LEVEL_UP; i += 1) { + completeRound(); + } initGame(); expect(getLevel()).toBe(0); }); @@ -95,6 +107,12 @@ describe('initGame', () => { expect(getRoundsCompleted()).toBe(0); }); + test('resets consecutiveCorrectRounds to 0', () => { + completeRound(); + initGame(); + expect(getConsecutiveCorrectRounds()).toBe(0); + }); + test('resets running to false', () => { startGame(); initGame(); @@ -150,7 +168,10 @@ describe('stopGame', () => { }); test('includes the current level in the result', () => { - completeRound(); + // Level advances after ROUNDS_TO_LEVEL_UP consecutive correct rounds + for (let i = 0; i < ROUNDS_TO_LEVEL_UP; i += 1) { + completeRound(); + } startGame(); const result = stopGame(); expect(result.level).toBe(1); @@ -288,21 +309,58 @@ describe('addCorrectGroup', () => { // ── completeRound ───────────────────────────────────────────────────────────── describe('completeRound', () => { - test('increments level by 1', () => { + test('increments roundsCompleted by 1', () => { + completeRound(); + expect(getRoundsCompleted()).toBe(1); + }); + + test('does not advance level until ROUNDS_TO_LEVEL_UP consecutive rounds', () => { + completeRound(); + expect(getLevel()).toBe(0); completeRound(); + expect(getLevel()).toBe(0); + }); + + test('advances level after ROUNDS_TO_LEVEL_UP consecutive correct rounds', () => { + for (let i = 0; i < ROUNDS_TO_LEVEL_UP; i += 1) { + completeRound(); + } expect(getLevel()).toBe(1); }); - test('increments roundsCompleted by 1', () => { + test('resets consecutiveCorrectRounds to 0 after level advance', () => { + for (let i = 0; i < ROUNDS_TO_LEVEL_UP; i += 1) { + completeRound(); + } + expect(getConsecutiveCorrectRounds()).toBe(0); + }); + + test('accumulates across multiple level advances', () => { + for (let i = 0; i < ROUNDS_TO_LEVEL_UP * 2; i += 1) { + completeRound(); + } + expect(getLevel()).toBe(2); + expect(getRoundsCompleted()).toBe(ROUNDS_TO_LEVEL_UP * 2); + }); +}); + +// ── resetConsecutiveRounds ─────────────────────────────────────────────────── + +describe('resetConsecutiveRounds', () => { + test('resets the consecutive correct round counter to 0', () => { completeRound(); - expect(getRoundsCompleted()).toBe(1); + expect(getConsecutiveCorrectRounds()).toBe(1); + resetConsecutiveRounds(); + expect(getConsecutiveCorrectRounds()).toBe(0); }); - test('accumulates across multiple calls', () => { + test('prevents level advance when streak is broken between rounds', () => { completeRound(); completeRound(); - expect(getLevel()).toBe(2); - expect(getRoundsCompleted()).toBe(2); + resetConsecutiveRounds(); // streak broken: back to 0 + completeRound(); // only 1 consecutive now + expect(getLevel()).toBe(0); + expect(getConsecutiveCorrectRounds()).toBe(1); }); }); @@ -326,6 +384,26 @@ describe('getRoundsCompleted', () => { }); }); +describe('getConsecutiveCorrectRounds', () => { + test('returns 0 after init', () => { + expect(getConsecutiveCorrectRounds()).toBe(0); + }); + + test('increments with each completeRound call', () => { + completeRound(); + expect(getConsecutiveCorrectRounds()).toBe(1); + completeRound(); + expect(getConsecutiveCorrectRounds()).toBe(2); + }); + + test('resets to 0 when level advances', () => { + for (let i = 0; i < ROUNDS_TO_LEVEL_UP; i += 1) { + completeRound(); + } + expect(getConsecutiveCorrectRounds()).toBe(0); + }); +}); + describe('isRunning', () => { test('returns false before startGame', () => { expect(isRunning()).toBe(false); diff --git a/app/games/high-speed-memory/tests/index.test.js b/app/games/high-speed-memory/tests/index.test.js index 9f99d7e..1d5f21a 100644 --- a/app/games/high-speed-memory/tests/index.test.js +++ b/app/games/high-speed-memory/tests/index.test.js @@ -5,12 +5,13 @@ jest.unstable_mockModule('../game.js', () => ({ PRIMARY_IMAGE: 'Primary.jpg', DISTRACTOR_IMAGES: ['Distractor1.jpg', 'Distractor2.jpg'], PRIMARY_COUNT: 3, + ROUNDS_TO_LEVEL_UP: 3, BASE_DISPLAY_MS: 500, DISPLAY_DECREMENT_MS: 24, MIN_DISPLAY_MS: 20, initGame: jest.fn(), startGame: jest.fn(), - stopGame: jest.fn(() => ({ score: 5, level: 2, roundsCompleted: 2, duration: 12000 })), + stopGame: jest.fn(() => ({ score: 5, level: 2, roundsCompleted: 6, duration: 12000 })), getGridSize: jest.fn(() => ({ rows: 3, cols: 3 })), getDisplayDurationMs: jest.fn(() => 500), // 3×3 grid: cards 0, 4, 8 are Primary; rest are Distractors @@ -28,9 +29,11 @@ jest.unstable_mockModule('../game.js', () => ({ isPrimary: jest.fn((img) => img === 'Primary.jpg'), addCorrectGroup: jest.fn(), completeRound: jest.fn(), + resetConsecutiveRounds: jest.fn(), getScore: jest.fn(() => 5), getLevel: jest.fn(() => 2), - getRoundsCompleted: jest.fn(() => 2), + getRoundsCompleted: jest.fn(() => 6), + getConsecutiveCorrectRounds: jest.fn(() => 1), isRunning: jest.fn(() => false), })); @@ -70,6 +73,7 @@ function buildContainer() { 0 1 0 + 0
    0 @@ -387,6 +391,14 @@ describe('updateStats', () => { expect(container.querySelector('#hsm-level').textContent).toBe('3'); }); + test('updates streak element', () => { + const container = buildContainer(); + plugin.init(container); + updateStats(); + // getConsecutiveCorrectRounds mock returns 1 + expect(container.querySelector('#hsm-streak').textContent).toBe('1'); + }); + test('does not throw when elements are absent', () => { plugin.init(document.createElement('div')); expect(() => updateStats()).not.toThrow(); @@ -666,6 +678,26 @@ describe('handleCardClick', () => { expect(btn.classList.contains('hsm-card--wrong')).toBe(true); }); + test('calls resetConsecutiveRounds when a Distractor card is clicked', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // release flip lock + gameMock.resetConsecutiveRounds.mockClear(); + handleCardClick(1); // Distractor1.jpg — wrong guess + expect(gameMock.resetConsecutiveRounds).toHaveBeenCalledTimes(1); + }); + + test('does not call resetConsecutiveRounds when a Primary card is clicked', () => { + const container = buildContainer(); + plugin.init(container); + startRound(); + jest.runAllTimers(); // release flip lock + gameMock.resetConsecutiveRounds.mockClear(); + handleCardClick(0); // Primary.jpg — correct + expect(gameMock.resetConsecutiveRounds).not.toHaveBeenCalled(); + }); + test('flips Distractor card back after delay', () => { const container = buildContainer(); plugin.init(container); From a98bfcd33ea1feb439222960848c3f3adae0c675 Mon Sep 17 00:00:00 2001 From: Aaron Crosman Date: Wed, 18 Mar 2026 21:31:14 -0400 Subject: [PATCH 14/15] Update images --- app/games/high-speed-memory/game.js | 6 +++++- .../high-speed-memory/images/Distractor2.jpg | Bin 71898 -> 68020 bytes .../high-speed-memory/images/Distractor3.jpg | Bin 0 -> 89549 bytes .../high-speed-memory/images/thumbnail.jpg | Bin 97955 -> 71898 bytes 4 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 app/games/high-speed-memory/images/Distractor3.jpg diff --git a/app/games/high-speed-memory/game.js b/app/games/high-speed-memory/game.js index a6be663..26d1f06 100644 --- a/app/games/high-speed-memory/game.js +++ b/app/games/high-speed-memory/game.js @@ -17,7 +17,11 @@ export const PRIMARY_IMAGE = 'Primary.jpg'; * Filenames of distractor card images. * These fill all grid cells that are not the Primary card. */ -export const DISTRACTOR_IMAGES = ['Distractor1.jpg', 'Distractor2.jpg']; +export const DISTRACTOR_IMAGES = [ + 'Distractor1.jpg', + 'Distractor2.jpg', + 'Distractor3.jpg', +]; /** * Number of Primary card copies placed in each round's grid. diff --git a/app/games/high-speed-memory/images/Distractor2.jpg b/app/games/high-speed-memory/images/Distractor2.jpg index 67f10ef894570533b17dc8b804bcde256d668a67..d6cef4e2c53289a2862c6edf8fdb86989d239708 100644 GIT binary patch literal 68020 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%0Dgs?3l!rOC*c@M4q1Wn2RbH?d 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

    How to Play

    Primary image appears! After they flip back, click all three cards that showed the Primary image.

    +

    + Find this card — it appears three times each round: +

    + The Primary card you need to find
    • Watch closely while the cards are revealed.
    • -
    • After they flip face-down, click the three cards showing the Primary image.
    • -
    • Correctly found cards stay revealed. Wrong guesses flip back.
    • -
    • Find all three to complete a round — complete 3 rounds in a row without a wrong guess to advance to the next level with a larger grid and shorter reveal time!
    • +
    • After they flip face-down, click the three cards that showed the Primary image.
    • +
    • A wrong guess restarts the round after a brief delay — no partial credit.
    • +
    • Find all three to complete a round — complete 3 rounds in a row + to advance to the next level with a larger grid and shorter reveal time!
    • Use Tab to move between cards and Enter or Space to select.
    @@ -37,16 +46,6 @@

    How to Play

    Streak: 0 / 3 - - -
    1 0 0 -
    0 1 @@ -185,9 +184,9 @@ describe('stop', () => { expect(container.querySelector('#hsm-end-panel').hidden).toBe(false); }); - test('clears pending flip-back timer on stop', () => { + test('clears pending round-restart timer on stop', () => { jest.runAllTimers(); // release flip lock - handleCardClick(1); // Distractor — triggers flip-back timer + handleCardClick(1); // Distractor — triggers round-restart timer expect(() => plugin.stop()).not.toThrow(); }); @@ -269,9 +268,9 @@ describe('reset', () => { expect(() => plugin.reset()).not.toThrow(); }); - test('clears pending flip-back timer on reset', () => { + test('clears pending round-restart timer on reset', () => { jest.runAllTimers(); // release flip lock - handleCardClick(1); // Distractor — triggers flip-back timer + handleCardClick(1); // Distractor — triggers round-restart timer expect(() => plugin.reset()).not.toThrow(); }); }); @@ -580,13 +579,30 @@ describe('card element manipulation', () => { // ── hideAllCards ────────────────────────────────────────────────────────────── describe('hideAllCards', () => { - test('hides the countdown banner', () => { + test('hides all un-matched cards', () => { jest.useFakeTimers(); const container = buildContainer(); plugin.init(container); startRound(); hideAllCards(); - expect(container.querySelector('#hsm-countdown').hidden).toBe(true); + // All cards should be face-down (no hsm-card--revealed class) + const cards = container.querySelectorAll('#hsm-grid .hsm-card'); + cards.forEach((btn) => { + expect(btn.classList.contains('hsm-card--revealed')).toBe(false); + }); + jest.useRealTimers(); + }); + + test('allows card clicks after reveal phase (flip lock released)', () => { + jest.useFakeTimers(); + const container = buildContainer(); + plugin.init(container); + startRound(); + hideAllCards(); // flip lock should now be false + // A Primary card click should now be processed (not blocked) + handleCardClick(0); + const btn = container.querySelector('[data-id="0"]'); + expect(btn.classList.contains('hsm-card--matched')).toBe(true); jest.useRealTimers(); }); @@ -608,12 +624,14 @@ describe('startRound', () => { jest.useRealTimers(); }); - test('shows the countdown banner', () => { + test('sets flip lock during the reveal phase', () => { jest.useFakeTimers(); const container = buildContainer(); plugin.init(container); startRound(); - expect(container.querySelector('#hsm-countdown').hidden).toBe(false); + // During reveal, a Primary card click should be ignored (flip lock active) + const btn = container.querySelector('[data-id="0"]'); + expect(btn.classList.contains('hsm-card--matched')).toBe(false); jest.useRealTimers(); }); @@ -623,7 +641,11 @@ describe('startRound', () => { plugin.init(container); startRound(); jest.runAllTimers(); - expect(container.querySelector('#hsm-countdown').hidden).toBe(true); + // All cards should now be face-down + const cards = container.querySelectorAll('#hsm-grid .hsm-card'); + cards.forEach((btn) => { + expect(btn.classList.contains('hsm-card--revealed')).toBe(false); + }); jest.useRealTimers(); }); }); @@ -698,15 +720,15 @@ describe('handleCardClick', () => { expect(gameMock.resetConsecutiveRounds).not.toHaveBeenCalled(); }); - test('flips Distractor card back after delay', () => { + test('restarts the round after a wrong guess delay', () => { const container = buildContainer(); plugin.init(container); startRound(); jest.runAllTimers(); // release flip lock - handleCardClick(1); // Distractor — sets flip lock + flip-back timer - jest.runAllTimers(); // trigger flip-back - const btn = container.querySelector('[data-id="1"]'); - expect(btn.classList.contains('hsm-card--revealed')).toBe(false); + gameMock.generateGrid.mockClear(); + handleCardClick(1); // Distractor — triggers round-restart timer + jest.runAllTimers(); // fires restart: calls startRound() → generateGrid() + expect(gameMock.generateGrid).toHaveBeenCalledTimes(1); }); test('advances to next round when all PRIMARY_COUNT Primary cards found', () => {

    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%0DvmOy#?){L(&h$J0I)55$~j4U@m=M!2+ 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 From 05ed46ee5dbf567969d8c8257eba78518d2915cf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 02:18:00 +0000 Subject: [PATCH 15/15] feat: primary image on instructions, wrong-guess restarts round, remove countdown banner Co-authored-by: acrosman <2972053+acrosman@users.noreply.github.com> --- app/games/high-speed-memory/index.js | 37 +++++-------- app/games/high-speed-memory/interface.html | 25 +++++---- app/games/high-speed-memory/style.css | 28 +++++----- .../high-speed-memory/tests/index.test.js | 52 +++++++++++++------ 4 files changed, 76 insertions(+), 66 deletions(-) diff --git a/app/games/high-speed-memory/index.js b/app/games/high-speed-memory/index.js index 18d4d65..461ec2f 100644 --- a/app/games/high-speed-memory/index.js +++ b/app/games/high-speed-memory/index.js @@ -58,9 +58,6 @@ let _levelEl = null; /** @type {HTMLElement|null} */ let _foundEl = null; -/** @type {HTMLElement|null} */ -let _countdownEl = null; - /** @type {HTMLElement|null} */ let _feedbackEl = null; @@ -94,10 +91,10 @@ let _flipLock = false; let _primaryFound = 0; /** - * Pending setTimeout handle for flipping a wrong-guess card back. + * Pending setTimeout handle for restarting the round after a wrong guess. * @type {ReturnType|null} */ -let _flipBackTimer = null; +let _roundRestartTimer = null; /** * Pending setTimeout handle for hiding all cards after reveal phase. @@ -269,7 +266,6 @@ export function hideAllCards() { hideCardEl(card.id); } }); - if (_countdownEl) _countdownEl.hidden = true; _flipLock = false; announce(`Cards hidden — find the ${game.PRIMARY_COUNT} matching cards!`); } @@ -287,17 +283,9 @@ export function startRound() { updateFoundDisplay(); const displayMs = game.getDisplayDurationMs(game.getLevel()); - const ms = displayMs < 1000 - ? `${displayMs}ms` - : `${Math.ceil(displayMs / 1000)} second${Math.ceil(displayMs / 1000) !== 1 ? 's' : ''}`; - - if (_countdownEl) { - _countdownEl.textContent = `Memorize! Cards hide in ${ms}…`; - _countdownEl.hidden = false; - } announce( - `Level ${game.getLevel() + 1}. Find the ${game.PRIMARY_COUNT} matching cards. They hide in ${ms}.`, + `Level ${game.getLevel() + 1}. Find the ${game.PRIMARY_COUNT} matching cards.`, ); _hideTimer = setTimeout(hideAllCards, displayMs); @@ -335,16 +323,17 @@ export function handleCardClick(cardId) { onRoundComplete(); } } else { - // Wrong — reset the level-up streak, play sound, and flip the Distractor back + // Wrong — reset streak, play sound, then restart the round after a brief delay game.resetConsecutiveRounds(); markCardWrong(cardId); playWrongSound(); - announce('That is a Distractor. Streak reset — keep looking!'); + updateStats(); + announce('Wrong guess! The round will restart.'); _flipLock = true; - _flipBackTimer = setTimeout(() => { - hideCardEl(cardId); - _flipLock = false; + clearTimers(); + _roundRestartTimer = setTimeout(() => { + startRound(); }, WRONG_FLIP_DELAY_MS); } } @@ -388,9 +377,9 @@ function returnToMainMenu() { * Clear any pending timers (used during stop/reset). */ function clearTimers() { - if (_flipBackTimer !== null) { - clearTimeout(_flipBackTimer); - _flipBackTimer = null; + if (_roundRestartTimer !== null) { + clearTimeout(_roundRestartTimer); + _roundRestartTimer = null; } if (_hideTimer !== null) { clearTimeout(_hideTimer); @@ -438,7 +427,6 @@ function init(gameContainer) { _scoreEl = _container.querySelector('#hsm-score'); _levelEl = _container.querySelector('#hsm-level'); _foundEl = _container.querySelector('#hsm-found'); - _countdownEl = _container.querySelector('#hsm-countdown'); _feedbackEl = _container.querySelector('#hsm-feedback'); _finalScoreEl = _container.querySelector('#hsm-final-score'); _finalLevelEl = _container.querySelector('#hsm-final-level'); @@ -534,7 +522,6 @@ function reset() { if (_instructionsEl) _instructionsEl.hidden = false; if (_gameAreaEl) _gameAreaEl.hidden = true; if (_endPanelEl) _endPanelEl.hidden = true; - if (_countdownEl) _countdownEl.hidden = true; if (_feedbackEl) _feedbackEl.textContent = ''; if (_streakEl) _streakEl.textContent = '0'; diff --git a/app/games/high-speed-memory/interface.html b/app/games/high-speed-memory/interface.html index 5a68deb..da56fe9 100644 --- a/app/games/high-speed-memory/interface.html +++ b/app/games/high-speed-memory/interface.html @@ -13,11 +13,20 @@

    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 F{{T%xfaw4L literal 71898 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%0DvmOy#?){L(&h$J0I)55$~j4U@m=M!2+ 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 literal 0 HcmV?d00001 From d96622c1e36283f035b32f37ba0a628a69ee6ef3 Mon Sep 17 00:00:00 2001 From: Aaron Crosman Date: Wed, 18 Mar 2026 20:15:59 -0400 Subject: [PATCH 08/15] Removed generated images. --- app/games/high-speed-memory/images/card-01.svg | 5 ----- app/games/high-speed-memory/images/card-02.svg | 5 ----- app/games/high-speed-memory/images/card-03.svg | 5 ----- app/games/high-speed-memory/images/card-04.svg | 5 ----- app/games/high-speed-memory/images/card-05.svg | 5 ----- app/games/high-speed-memory/images/card-06.svg | 5 ----- app/games/high-speed-memory/images/card-07.svg | 5 ----- app/games/high-speed-memory/images/card-08.svg | 5 ----- app/games/high-speed-memory/images/card-09.svg | 5 ----- app/games/high-speed-memory/images/card-10.svg | 5 ----- app/games/high-speed-memory/images/card-11.svg | 5 ----- app/games/high-speed-memory/images/card-12.svg | 5 ----- app/games/high-speed-memory/images/card-13.svg | 5 ----- app/games/high-speed-memory/images/card-14.svg | 5 ----- app/games/high-speed-memory/images/card-15.svg | 5 ----- app/games/high-speed-memory/images/card-16.svg | 5 ----- app/games/high-speed-memory/images/card-17.svg | 5 ----- app/games/high-speed-memory/images/card-18.svg | 5 ----- app/games/high-speed-memory/images/card-19.svg | 5 ----- app/games/high-speed-memory/images/card-20.svg | 5 ----- app/games/high-speed-memory/images/card-21.svg | 5 ----- app/games/high-speed-memory/images/card-22.svg | 5 ----- app/games/high-speed-memory/images/card-23.svg | 5 ----- app/games/high-speed-memory/images/card-24.svg | 5 ----- app/games/high-speed-memory/images/card-25.svg | 5 ----- app/games/high-speed-memory/images/card-26.svg | 5 ----- app/games/high-speed-memory/images/card-27.svg | 5 ----- app/games/high-speed-memory/images/card-28.svg | 5 ----- app/games/high-speed-memory/images/card-29.svg | 5 ----- app/games/high-speed-memory/images/card-30.svg | 5 ----- app/games/high-speed-memory/images/card-31.svg | 5 ----- app/games/high-speed-memory/images/card-32.svg | 5 ----- app/games/high-speed-memory/images/card-33.svg | 5 ----- app/games/high-speed-memory/images/card-34.svg | 5 ----- app/games/high-speed-memory/images/card-35.svg | 5 ----- app/games/high-speed-memory/images/card-36.svg | 5 ----- app/games/high-speed-memory/images/card-37.svg | 5 ----- app/games/high-speed-memory/images/card-38.svg | 5 ----- app/games/high-speed-memory/images/card-39.svg | 5 ----- app/games/high-speed-memory/images/card-40.svg | 5 ----- app/games/high-speed-memory/images/card-41.svg | 5 ----- app/games/high-speed-memory/images/card-42.svg | 5 ----- app/games/high-speed-memory/images/card-43.svg | 5 ----- app/games/high-speed-memory/images/card-44.svg | 5 ----- app/games/high-speed-memory/images/card-45.svg | 5 ----- app/games/high-speed-memory/images/card-46.svg | 5 ----- app/games/high-speed-memory/images/card-47.svg | 5 ----- app/games/high-speed-memory/images/card-48.svg | 5 ----- .../high-speed-memory/images/card-back.svg | 6 ------ .../high-speed-memory/images/thumbnail.jpg | Bin 0 -> 97955 bytes .../high-speed-memory/images/thumbnail.svg | 14 -------------- 51 files changed, 260 deletions(-) delete mode 100644 app/games/high-speed-memory/images/card-01.svg delete mode 100644 app/games/high-speed-memory/images/card-02.svg delete mode 100644 app/games/high-speed-memory/images/card-03.svg delete mode 100644 app/games/high-speed-memory/images/card-04.svg delete mode 100644 app/games/high-speed-memory/images/card-05.svg delete mode 100644 app/games/high-speed-memory/images/card-06.svg delete mode 100644 app/games/high-speed-memory/images/card-07.svg delete mode 100644 app/games/high-speed-memory/images/card-08.svg delete mode 100644 app/games/high-speed-memory/images/card-09.svg delete mode 100644 app/games/high-speed-memory/images/card-10.svg delete mode 100644 app/games/high-speed-memory/images/card-11.svg delete mode 100644 app/games/high-speed-memory/images/card-12.svg delete mode 100644 app/games/high-speed-memory/images/card-13.svg delete mode 100644 app/games/high-speed-memory/images/card-14.svg delete mode 100644 app/games/high-speed-memory/images/card-15.svg delete mode 100644 app/games/high-speed-memory/images/card-16.svg delete mode 100644 app/games/high-speed-memory/images/card-17.svg delete mode 100644 app/games/high-speed-memory/images/card-18.svg delete mode 100644 app/games/high-speed-memory/images/card-19.svg delete mode 100644 app/games/high-speed-memory/images/card-20.svg delete mode 100644 app/games/high-speed-memory/images/card-21.svg delete mode 100644 app/games/high-speed-memory/images/card-22.svg delete mode 100644 app/games/high-speed-memory/images/card-23.svg delete mode 100644 app/games/high-speed-memory/images/card-24.svg delete mode 100644 app/games/high-speed-memory/images/card-25.svg delete mode 100644 app/games/high-speed-memory/images/card-26.svg delete mode 100644 app/games/high-speed-memory/images/card-27.svg delete mode 100644 app/games/high-speed-memory/images/card-28.svg delete mode 100644 app/games/high-speed-memory/images/card-29.svg delete mode 100644 app/games/high-speed-memory/images/card-30.svg delete mode 100644 app/games/high-speed-memory/images/card-31.svg delete mode 100644 app/games/high-speed-memory/images/card-32.svg delete mode 100644 app/games/high-speed-memory/images/card-33.svg delete mode 100644 app/games/high-speed-memory/images/card-34.svg delete mode 100644 app/games/high-speed-memory/images/card-35.svg delete mode 100644 app/games/high-speed-memory/images/card-36.svg delete mode 100644 app/games/high-speed-memory/images/card-37.svg delete mode 100644 app/games/high-speed-memory/images/card-38.svg delete mode 100644 app/games/high-speed-memory/images/card-39.svg delete mode 100644 app/games/high-speed-memory/images/card-40.svg delete mode 100644 app/games/high-speed-memory/images/card-41.svg delete mode 100644 app/games/high-speed-memory/images/card-42.svg delete mode 100644 app/games/high-speed-memory/images/card-43.svg delete mode 100644 app/games/high-speed-memory/images/card-44.svg delete mode 100644 app/games/high-speed-memory/images/card-45.svg delete mode 100644 app/games/high-speed-memory/images/card-46.svg delete mode 100644 app/games/high-speed-memory/images/card-47.svg delete mode 100644 app/games/high-speed-memory/images/card-48.svg delete mode 100644 app/games/high-speed-memory/images/card-back.svg create mode 100644 app/games/high-speed-memory/images/thumbnail.jpg delete mode 100644 app/games/high-speed-memory/images/thumbnail.svg diff --git a/app/games/high-speed-memory/images/card-01.svg b/app/games/high-speed-memory/images/card-01.svg deleted file mode 100644 index c3ddb81..0000000 --- a/app/games/high-speed-memory/images/card-01.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - A - diff --git a/app/games/high-speed-memory/images/card-02.svg b/app/games/high-speed-memory/images/card-02.svg deleted file mode 100644 index 819e66d..0000000 --- a/app/games/high-speed-memory/images/card-02.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - B - diff --git a/app/games/high-speed-memory/images/card-03.svg b/app/games/high-speed-memory/images/card-03.svg deleted file mode 100644 index a8c2d5f..0000000 --- a/app/games/high-speed-memory/images/card-03.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - C - diff --git a/app/games/high-speed-memory/images/card-04.svg b/app/games/high-speed-memory/images/card-04.svg deleted file mode 100644 index 6de87ec..0000000 --- a/app/games/high-speed-memory/images/card-04.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - D - diff --git a/app/games/high-speed-memory/images/card-05.svg b/app/games/high-speed-memory/images/card-05.svg deleted file mode 100644 index 60676e7..0000000 --- a/app/games/high-speed-memory/images/card-05.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - E - diff --git a/app/games/high-speed-memory/images/card-06.svg b/app/games/high-speed-memory/images/card-06.svg deleted file mode 100644 index 4233ab8..0000000 --- a/app/games/high-speed-memory/images/card-06.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - F - diff --git a/app/games/high-speed-memory/images/card-07.svg b/app/games/high-speed-memory/images/card-07.svg deleted file mode 100644 index e53fdfa..0000000 --- a/app/games/high-speed-memory/images/card-07.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - G - diff --git a/app/games/high-speed-memory/images/card-08.svg b/app/games/high-speed-memory/images/card-08.svg deleted file mode 100644 index 5ebd857..0000000 --- a/app/games/high-speed-memory/images/card-08.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - H - diff --git a/app/games/high-speed-memory/images/card-09.svg b/app/games/high-speed-memory/images/card-09.svg deleted file mode 100644 index c9103c0..0000000 --- a/app/games/high-speed-memory/images/card-09.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - I - diff --git a/app/games/high-speed-memory/images/card-10.svg b/app/games/high-speed-memory/images/card-10.svg deleted file mode 100644 index 207cac4..0000000 --- a/app/games/high-speed-memory/images/card-10.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - J - diff --git a/app/games/high-speed-memory/images/card-11.svg b/app/games/high-speed-memory/images/card-11.svg deleted file mode 100644 index 0a70b65..0000000 --- a/app/games/high-speed-memory/images/card-11.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - K - diff --git a/app/games/high-speed-memory/images/card-12.svg b/app/games/high-speed-memory/images/card-12.svg deleted file mode 100644 index 6e9c172..0000000 --- a/app/games/high-speed-memory/images/card-12.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - L - diff --git a/app/games/high-speed-memory/images/card-13.svg b/app/games/high-speed-memory/images/card-13.svg deleted file mode 100644 index e710a58..0000000 --- a/app/games/high-speed-memory/images/card-13.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - M - diff --git a/app/games/high-speed-memory/images/card-14.svg b/app/games/high-speed-memory/images/card-14.svg deleted file mode 100644 index 7934baf..0000000 --- a/app/games/high-speed-memory/images/card-14.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - N - diff --git a/app/games/high-speed-memory/images/card-15.svg b/app/games/high-speed-memory/images/card-15.svg deleted file mode 100644 index 9cee245..0000000 --- a/app/games/high-speed-memory/images/card-15.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - O - diff --git a/app/games/high-speed-memory/images/card-16.svg b/app/games/high-speed-memory/images/card-16.svg deleted file mode 100644 index 0df3802..0000000 --- a/app/games/high-speed-memory/images/card-16.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - P - diff --git a/app/games/high-speed-memory/images/card-17.svg b/app/games/high-speed-memory/images/card-17.svg deleted file mode 100644 index ae06d19..0000000 --- a/app/games/high-speed-memory/images/card-17.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - Q - diff --git a/app/games/high-speed-memory/images/card-18.svg b/app/games/high-speed-memory/images/card-18.svg deleted file mode 100644 index a35fd75..0000000 --- a/app/games/high-speed-memory/images/card-18.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - R - diff --git a/app/games/high-speed-memory/images/card-19.svg b/app/games/high-speed-memory/images/card-19.svg deleted file mode 100644 index 6b82638..0000000 --- a/app/games/high-speed-memory/images/card-19.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - S - diff --git a/app/games/high-speed-memory/images/card-20.svg b/app/games/high-speed-memory/images/card-20.svg deleted file mode 100644 index c1613bf..0000000 --- a/app/games/high-speed-memory/images/card-20.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - T - diff --git a/app/games/high-speed-memory/images/card-21.svg b/app/games/high-speed-memory/images/card-21.svg deleted file mode 100644 index ec12b1b..0000000 --- a/app/games/high-speed-memory/images/card-21.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - U - diff --git a/app/games/high-speed-memory/images/card-22.svg b/app/games/high-speed-memory/images/card-22.svg deleted file mode 100644 index b33332b..0000000 --- a/app/games/high-speed-memory/images/card-22.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - V - diff --git a/app/games/high-speed-memory/images/card-23.svg b/app/games/high-speed-memory/images/card-23.svg deleted file mode 100644 index aa6824e..0000000 --- a/app/games/high-speed-memory/images/card-23.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - W - diff --git a/app/games/high-speed-memory/images/card-24.svg b/app/games/high-speed-memory/images/card-24.svg deleted file mode 100644 index 98c3e8a..0000000 --- a/app/games/high-speed-memory/images/card-24.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - X - diff --git a/app/games/high-speed-memory/images/card-25.svg b/app/games/high-speed-memory/images/card-25.svg deleted file mode 100644 index b6b8524..0000000 --- a/app/games/high-speed-memory/images/card-25.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - Y - diff --git a/app/games/high-speed-memory/images/card-26.svg b/app/games/high-speed-memory/images/card-26.svg deleted file mode 100644 index 5ec0fc3..0000000 --- a/app/games/high-speed-memory/images/card-26.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - Z - diff --git a/app/games/high-speed-memory/images/card-27.svg b/app/games/high-speed-memory/images/card-27.svg deleted file mode 100644 index 1a01df1..0000000 --- a/app/games/high-speed-memory/images/card-27.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-28.svg b/app/games/high-speed-memory/images/card-28.svg deleted file mode 100644 index 2cb5049..0000000 --- a/app/games/high-speed-memory/images/card-28.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-29.svg b/app/games/high-speed-memory/images/card-29.svg deleted file mode 100644 index 583e37a..0000000 --- a/app/games/high-speed-memory/images/card-29.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-30.svg b/app/games/high-speed-memory/images/card-30.svg deleted file mode 100644 index d04f4f1..0000000 --- a/app/games/high-speed-memory/images/card-30.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-31.svg b/app/games/high-speed-memory/images/card-31.svg deleted file mode 100644 index 7ab576b..0000000 --- a/app/games/high-speed-memory/images/card-31.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-32.svg b/app/games/high-speed-memory/images/card-32.svg deleted file mode 100644 index dba3ced..0000000 --- a/app/games/high-speed-memory/images/card-32.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-33.svg b/app/games/high-speed-memory/images/card-33.svg deleted file mode 100644 index 4e95658..0000000 --- a/app/games/high-speed-memory/images/card-33.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-34.svg b/app/games/high-speed-memory/images/card-34.svg deleted file mode 100644 index f80c4be..0000000 --- a/app/games/high-speed-memory/images/card-34.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-35.svg b/app/games/high-speed-memory/images/card-35.svg deleted file mode 100644 index c6dd818..0000000 --- a/app/games/high-speed-memory/images/card-35.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-36.svg b/app/games/high-speed-memory/images/card-36.svg deleted file mode 100644 index 2b21eb6..0000000 --- a/app/games/high-speed-memory/images/card-36.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-37.svg b/app/games/high-speed-memory/images/card-37.svg deleted file mode 100644 index 4063c73..0000000 --- a/app/games/high-speed-memory/images/card-37.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-38.svg b/app/games/high-speed-memory/images/card-38.svg deleted file mode 100644 index 8a9484a..0000000 --- a/app/games/high-speed-memory/images/card-38.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🎯 - diff --git a/app/games/high-speed-memory/images/card-39.svg b/app/games/high-speed-memory/images/card-39.svg deleted file mode 100644 index 08cfb7e..0000000 --- a/app/games/high-speed-memory/images/card-39.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-40.svg b/app/games/high-speed-memory/images/card-40.svg deleted file mode 100644 index d5eecf3..0000000 --- a/app/games/high-speed-memory/images/card-40.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-41.svg b/app/games/high-speed-memory/images/card-41.svg deleted file mode 100644 index 4bd2f0d..0000000 --- a/app/games/high-speed-memory/images/card-41.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/games/high-speed-memory/images/card-42.svg b/app/games/high-speed-memory/images/card-42.svg deleted file mode 100644 index bb4f277..0000000 --- a/app/games/high-speed-memory/images/card-42.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🔥 - diff --git a/app/games/high-speed-memory/images/card-43.svg b/app/games/high-speed-memory/images/card-43.svg deleted file mode 100644 index 4a74af3..0000000 --- a/app/games/high-speed-memory/images/card-43.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🌊 - diff --git a/app/games/high-speed-memory/images/card-44.svg b/app/games/high-speed-memory/images/card-44.svg deleted file mode 100644 index 464a474..0000000 --- a/app/games/high-speed-memory/images/card-44.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🍀 - diff --git a/app/games/high-speed-memory/images/card-45.svg b/app/games/high-speed-memory/images/card-45.svg deleted file mode 100644 index ca2f855..0000000 --- a/app/games/high-speed-memory/images/card-45.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 💎 - diff --git a/app/games/high-speed-memory/images/card-46.svg b/app/games/high-speed-memory/images/card-46.svg deleted file mode 100644 index 9bde265..0000000 --- a/app/games/high-speed-memory/images/card-46.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🎵 - diff --git a/app/games/high-speed-memory/images/card-47.svg b/app/games/high-speed-memory/images/card-47.svg deleted file mode 100644 index bc50ec6..0000000 --- a/app/games/high-speed-memory/images/card-47.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🌈 - diff --git a/app/games/high-speed-memory/images/card-48.svg b/app/games/high-speed-memory/images/card-48.svg deleted file mode 100644 index c548643..0000000 --- a/app/games/high-speed-memory/images/card-48.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - 🦋 - diff --git a/app/games/high-speed-memory/images/card-back.svg b/app/games/high-speed-memory/images/card-back.svg deleted file mode 100644 index 2e31449..0000000 --- a/app/games/high-speed-memory/images/card-back.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - ? - diff --git a/app/games/high-speed-memory/images/thumbnail.jpg b/app/games/high-speed-memory/images/thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56b9d02c20e05641d55f53f6ece922d0072db45c GIT binary patch literal 97955 zcmb4qWmFtZ(C*?AoCOw_CAhmoaCZ$7V1eN7?y|TBcMTRC0t8kJB>+HU}9onf5ZL1f(SrBL4^+z z9Rpshi3dPLfR7s$2?Z`_h)5U+h)4ird=y$#0&YUOcUl&1XuvQqk92AYI+3~OSV-_T@saQW zl7L%uZ$`%IG9yLM6vJo~1jf`Zm*ZE{)lq`? zyst2)O+Qe_;r&vM!eSSN>~^fm+>)=8RKNtm%;USRL3er2Vy_GMojMnv2YII)N|C01 zEqr;bp$0{jT+F5xKRU9Ee?!EgTit}4?^$_Kp#p?OGfp&S3jK(yfEtz~qNXy!G6k6M z9!k*s-32OP*H{vk%q_j#z~wbQ!0&?!UVixFMm$1|&US7XW+sa+phayilh>;XLM>DR zNmo2r%=@p@tBNi+GYWm4uziT{dbxBMZ7wodnawgAn&OX~zSV}K?!zZ*lf^`d#iTfJ zh=LCs_S0m*RVJ`)I(nG53@Zs6eGlmsCZETb3KjRR{0@|LQiGx$%AT|#5z5*s7Bj)r zFhsS!l+cAD!BQoa*>s4C0gQZ%K;N56x=`+ejXXYC&0G{qMj-MmRmQLmDuO+tPZ@YH zbPnK=Oor${3w-NcjAawrMvjTd919yJlv4kh+EHhvjf4OMxEN)-7+yqZn_ziC&g2T6 z^E9`!G`5IH#^R4mblgvJ>Fl&25CjdV7f?zYA^c1uDdWDXSVm{NFr^p*ajC}x_SQW5 z%}NO{56;g~wQ3qRohV}Z>!QTsvbc&J>4ZrQGehQzfcKZhk~BBR&&>T*BN9w_{Vpm% z!-`}PHUti34lfC?ywSw@#FCK|9w z7Da*y1mcS=8=>o}k}hVhZh{(CMSsW8{QK& zC{Jrs8y9z~s{DeL=Daij>Qp^e37!sn0zfU9YAmzsFfEx9`H_$lX0{XN$&f?&=(V;Z zlSNPwNJ}Kz(t-4v017e+t?kreggqd=pH?oRRDzXdWCG@xhqOEsH3OZbh$Sm6X(j8P zRDxk8pCglEF@O(?l@`dxgoIxy&UBHG3y}il`4hk^m5AFSy}>>t4XhQ#LIQJIe{3&Su!z1M9~M5_X5Bk@UTA|b$) z(DX1rYtCX=H6lbxt_gT)y|3EaNC9%;k-h@9V=)7@OG0aO=EybCb(?ZsgY5dLmCm*VPEx z70U26VOa#M0W4QQ{dMQxkOOOuv>;72T_KB1O^Q$iB&a3t5}$7c6tRCqfXntmRgUXR z$aLOiDeHk66d9X^O~*15uw1!UItteg4!5ctwX!91A_5emkbDDIKrt%3e`)V>8s(YP z10yEIN-pj;ZlG@^T}s$!<{Qs4zF{3zEW-*Y50l%0Dgs?3l!rOC*c@M4q1Wn2RbH?d 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