A simple in-browser memory matching game, written in JavaScript (no jQuery or 3rd party frameworks). Utilises browser local storage for leaderboard entries. It is available live here.
Clone this repository, either by going to the desired directory and running git clone https://github.com/zymeth25/memo-match.git
or by clicking the green "Clone or download" button on the repository's main page
and downloading a ZIP. The second option is most probably the only one if you are on Windows.
When you have the files ready on your computer (unzipped, if necessary), open the index.html
file. That's it!
If you are using a mobile device or just don't want to download anyting, you can go to this URL and start the game right away.
Once you have launched the game, hit the "Start" button - a new deck of cards will appear. Then, just click or tap on the cards to flip
them over. When two cards are open the game will either lock them if their symbols match, or flip them back to closed position if it is
a mismatch. You can reset the game by hitting the ↻
button above the deck.
The game will also count the moves you make (2 flips = 1 move) and assign a star rating based on this number. There is also a timer but it does not affect the actual score.
Once you have matched all cards, a modal will pop up. It will allow you to enter your name and save your score. Note that the score is stored locally in your browser, not globally on a server. To clear the leaderboard, tap/click the button below the table and hold it for 5 seconds. (The button will not appear if the leaderboard is empty).
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You need to have your machine setup to serve pages locally. You will also need Node if you want to work with JS files.
Install Node.js if you haven't already
Clone this repository
git clone https://github.com/zymeth25/memo-match.git
cd into the project direcotory
cd memo-match
Install dependencies (Grunt)
npm install
You can now run grunt
and it will run the JavaScript concat task.
No production JavaScript libraries were used :)
- Klemens Starybrat
This project is licensed under the GPL v3.0 License. It is available here
- This awesome SO thread
- storageAvailable function from this MDN article