react-card-memory-game
Version:
Memory Game made with React using UTF-8 icons.
67 lines (48 loc) • 2.45 kB
Markdown
# React Card Memory Game
<img alt="npm bundle size" src="https://img.shields.io/bundlephobia/min/react-card-memory-game?color=g"> <img alt="Snyk Vulnerabilities for npm package" src="https://img.shields.io/snyk/vulnerabilities/npm/react-card-memory-game?color=g">
Memory Game made with React using UTF-8 icons.
Mobile & Desktop ready!
**works with**: `React >= 16.8`
## ✔️ Getting Started
You can install the module via `npm` or `yarn`:
```sh
npm install react-card-memory-game
```
```sh
yarn add react-card-memory-game
```
## 💻 Demo
[Live Demo](https://react-card-memory-game.surge.sh/)
## Project Structure
The project includes a demo folder initialized with Create React App.
When you run the command ```build``` from first-level ```package.json```, a ```dist``` and a ```lib``` folder will be generated.
The ```lib``` folder will be placed automatically into the demo project.
You can move into ```demo``` directory and ```start``` project from its own package.json script, just like any other Create React App.
## Usage
```js
import MemoryGame from 'react-card-memory-game'
function App() {
return (
<div>
<MemoryGame gridNumber={4}/>
</div>
);
}
```
This is the bare minimum to have a working memory game.
A more in-depth example is available on `demo/src/App.js`
## Props
|Name|Type|Default|Description|
|:--|:--:|:-----:|:----------|
|**containerStyle**|<code>CSSProperties</code>|`{}`|Optional style applied to the container|
|**gridNumber**|<code>number</code>|required|The grid number. Must be an Integer number between 4 and 6|
|**foundPair**|<code>Function</code>|`()=>undefined`|Optional callback triggered everytime the player find a pair|
|**notFoundPair**|<code>Function</code>|`()=>undefined`|Optional callback triggered everytime the player do not find a pair |
|**gameFinished**|<code>Function</code>|`()=>undefined`|Optional callback triggered when the game is finished (all pairs found)|
|**holeCardsColor**|<code>string</code>|`'orange'`|The color applied to the cards|
|**foundCardsColor**|<code>string</code>|`'yellow'`|The color applied to the successfully discovered cards|
|**frontCardsCss**|<code>string</code>|`''`|Optional `className` applied to the front of the cards|
|**backCardsCss**|<code>string</code>|`''`|Optional `className` applied to the back of the cards|
<br/>
## License
MIT