Memory Game
By Just Sparrow
A simple, kid-friendly memory matching game built as a single HTML file. Flip cards, find pairs, and progress through 10 levels of escalating difficulty — then keep going forever in endless mode.
How to Play
- Tap any card to flip it over and reveal the emoji.
- Tap a second card. If both emojis match, the pair stays revealed.
- If they don't match, both cards flip back face-down. (You can tap a new card right away — no waiting required.)
- Clear all pairs on the board to advance to the next level.
Features
10 Levels + Endless Mode
| Level | Grid | Types | Cards | Notes |
|---|---|---|---|---|
| 1 | 2×2 | 2 | 4 | |
| 2 | 3×3 | 4 | 8 | Center cell empty |
| 3 | 4×4 | 4 | 16 | 4 copies of each emoji |
| 4 | 4×4 | 8 | 16 | |
| 5 | 5×5 | 6 | 24 | 4 copies, center empty |
| 6 | 5×5 | 12 | 24 | Center empty |
| 7 | 6×6 | 9 | 36 | 4 copies of each |
| 8 | 6×6 | 18 | 36 | |
| 9 | 8×8 | 16 | 64 | 4 copies of each |
| 10 | 8×8 | 32 | 64 | All 32 emojis used |
| 11+ | 8×8 | 32 | 64 | Endless — stages keep counting up |
After clearing Level 10, an endless mode unlocks with no upper limit. The stage number keeps rising, and your cumulative stats (Moves, Matches, Time) replace per-level stats on the HUD.
Emoji Pool (32 total)
| Category | Emojis |
|---|---|
| Fruits | 🍎 🍊 🍋 🍏 🫐 🍇 🍓 🍑 🍌 🍉 🍐 🍒 🍍 🥭 🥝 🥥 |
| Veggies | 🥑 🍅 🥒 🍆 🌶️ 🫑 🌽 🎃 🫒 🥕 🥔 🧅 🧄 🥦 🥬 🍄 |
Easier emojis (common fruits) appear first, and harder ones (vegetables) join in at higher levels. The apple 🍎 always appears in every game.
Sound Effects & Voice
All sounds are generated on the fly — no external audio files.
Two audio modes (toggle with the 🗣️ / 🎵 button on the right):
- Voice mode (default, 🗣️): Card flips speak the emoji's English name via the Web Speech API — "apple", "banana", "broccoli", etc. Works great as a casual language-learning aid for kids. Voice quality depends on the device's system TTS (best on iOS/macOS, also good on modern Android, more robotic on Windows defaults).
- Tone mode (🎵): Card flips play a soft synthesized tap tone instead.
Match / level sounds (always synthesized tones, both modes):
- Bright three-note chime on a successful match
- Gentle two-note descent on a miss
- Ascending arpeggio on level clear
- Longer celebratory melody when Level 10 is cleared
A separate mute button (🔊 / 🔇) silences everything — both voice and tones.
Final Celebration
Clearing Level 10 unlocks a special modal:
- 🏆 Trophy pop-up animation
- Cumulative stats (Total Moves, Total Time)
- Emoji confetti rain (🎉🎊✨🌟⭐💖🎈🏆🎁🌈)
- GO AHEAD!! button to continue into endless mode
Quality-of-Life Details
Three small pink buttons sit at the top of the screen (styled like miniature cards):
- 🏠 Home (top-left): Restart from Level 1 at any time.
- 🔊 / 🔇 Mute (top-right): Silence everything.
- 🗣️ / 🎵 Voice toggle (top-right, below mute): Switch between voice (default) and tone modes.
Other niceties:
- Interruptible misses: When two non-matching cards are showing, tap any other card to flip them back and start a new pair immediately — no waiting.
- Auto progression: Each level clear advances automatically when you tap the modal button.
Design
- Portrait layout (9:16 aspect ratio) sized with
100vw × 177.78vw— fits entirely on a phone without scrolling. - White background with soft pastel accents (pink, peach, lavender, sky blue gradients).
- Fredoka font (Google Fonts) for a rounded, child-friendly look on both desktop and mobile.
Tech
- Single HTML file — no build step, no external assets (except a single Google Fonts link).
- Pure CSS for animations (card flip, modal entrance, confetti fall, trophy pop).
- Web Audio API for synthesized tone effects (match, miss, level clear, final melody).
- Web Speech API (
speechSynthesis) for voice mode — uses the device's system TTS, so no audio files are needed and it works offline. - Sized in
vwunits throughout to scale cleanly on any portrait display.
Loading comments...
Other Codes
No other codes yet