Memory (also known as Concentration) is a card game played with one or more players. Using a standard card deck (including both jokers) the players shuffle the deck and lay all of the cards face down on a surface and two cards are flipped face up over each turn. The object of the game is to turn over pairs of matching cards. Concentration can be played with any number of players or as solitaire. Wikipedia has a good description of the game.
Your challenge is to build Memory in the browser with the requirements below.
- Clone this repository
- Change the remote to a private github repository under your username
- Push code to that remote
- Develop
- Add github user
dylanbhughes
as a collaborator to your private repository
Using the provided deck in data/deck.js
:
- Shuffle the deck
- Display all 54 cards (jokers included) face down
- Clicking the back of a card should turn a card over
- Player can turn over 2 cards at a time
- When two cards are turned over:
- if the number and color of the cards match, the player collects the pair and the cards are removed from the board
- if the cards do not match, they turn back over and remain in position
- When a player has found all 27 pairs, the player should see a success message
- One player can play one entire game
- Sensible tests (see @vue/test-utils)
- Clear commit messages & history
- Well-styled & readible cards
Note: I've given you a Vue app skeleton. If you wish, you can implement this with another framework (or no framework at all). If you choose to do this, please retain the src/deck.js
file.
- Animations for card flips
- Snapshot tests
- Mobile & tablet friendly
- Deploy App & add deployment instructions to README
- Reset Button that starts an in-progess game over from the beginning
- Track the score
- Multiple player support
nvm install
npm install
npm run serve
npm run build
npm run test
npm run lint
npm run test:unit
deployed on firebase at https://memory-201906.web.app/ make sure firebase cli tools are installed npm run build firebase init (choose histing, single page) - this has been done already! in firebase.json make sure dist is entered in : "hosting": { "public": "dist",...} check page with firebase serve enter "firebase deploy" into terminal when in root of this project directory to finally deploy