This is a memory card matching game that showcases my mastery of Vue.js (version 3) and TypeScript. This is based off a tutorial from @bencodezen peek-a-vue project.
I also added the following to my project:
- TypeScript Declarations
- Camping theme for the cards and background image
- Web Accessibility
- Made the back of the cards
<button>
elements so they can be accessed by the keyboard (tab
andshift + tab
) - The card button default state is
disabled
until theStart Game
button is clicked
- Made the back of the cards
- Additional State
- Displaying the total number of
turns
the player takes to to complete the game.
- Displaying the total number of
First, you must press the Start Game
button.
The game board consists of sixteen cards arranged randomly in a 4x4 grid. The deck is made up of eight different pairs of camping themed cards. Each turn:
- A player flips one card over to reveal its underlying image
- The player then turns over a second card, trying to find the corresponding card with the same symbol
- If the cards match, both cards stay flipped over
- If the cards do not match, both cards are returned to their initial hidden state
- The game ends once all cards have been correctly matched (with a fun surprise)
- Clone the repo
git clone https://github.com/abuna1985/vue-memory-game.git
- Install NPM packages
npm install
- Run develop environment (compiles and hot-reloads)
npm run serve
- Create production build (Compiles and minifies to HTML/CSS/JavaScript)
npm run build
- Create
gh-pages
branch (only needs to done once)git branch gh-pages
- move the contents of the
dist
folder to thegh-pages
branchnpm run deploy
npm run test:unit
npm run lint
- Add Toggle button to switch to a 2nd theme
- A choice of grids before the games start
- 4x4
- 4x5
- 4x6
Distributed under the MIT License. See LICENSE.txt
for more information.
Adam Abundis - @adamabundis - [email protected]
Demo Link: https://abuna1985.github.io/vue-memory-game/