Welcome to the Emoji Memory Game, a fun and interactive game to test and improve your memory skills! Match all the emoji pairs and challenge yourself to beat your best time! 🚀
- Dynamic Gameplay: Each round randomizes the emoji grid for a fresh challenge.
- Responsive Design: Optimized for desktop, tablet, and mobile devices.
- Interactive UI: Smooth animations and transitions for a delightful user experience.
- Score Tracker: Keep track of your moves and time taken to complete the game.
- Customizable Themes: Light and dark mode for comfortable play in any lighting condition.
- Play Again Button: Restart the game instantly for a new round of fun!
- React.js: A powerful JavaScript library for building user interfaces.
- CSS Modules: For styling and responsive design.
- React Hooks: Manage state and side effects effectively.
- JavaScript (ES6+): Core game logic and interactivity.
Follow these instructions to get the project running on your local machine.
Ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/your-username/memory-game.git
-
Navigate to the project directory:
cd memory-game -
Install dependencies:
npm install # or yarn install -
Start the development server:
npm start # or yarn start -
Open your browser and go to http://localhost:3000.
- Click on any card to reveal the emoji.
- Match it with another card to form a pair.
- If the emojis match, they will remain uncovered; if not, they will flip back.
- Match all pairs to complete the game.
- Aim for the least number of moves and the fastest time!
memory-game/
├── components/ # Reusable React components
│ ├── AssistiveTechInfo.jsx # Accessibility information component
│ ├── EmojiButton.jsx # Button component for emoji interactions
│ ├── ErrorCard.jsx # Displays error messages or issues
│ ├── Form.jsx # Form for user inputs or settings
│ ├── GameOver.jsx # Game over screen component
│ ├── MemoryCard.jsx # Core card component for the memory game
│ ├── RegularButton.jsx # Generic button component
│ └── Select.jsx # Dropdown select component
├── data/ # Data and static information
│ └── data.js # Emoji and game-related data
├── node_modules/ # Node.js dependencies (auto-generated)
├── .gitignore # Ignored files and directories
├── App.jsx # Main App component
├── index.css # Global CSS styles
├── index.html # Main HTML file
├── index.jsx # Entry point for the React app
├── package-lock.json # Auto-generated lockfile for dependencies
├── package.json # Project metadata and dependencies
├── README.md # Project documentation
├── vite.config.js # Vite configuration for the development server
We welcome contributions! Here's how you can help:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeatureName). - Commit your changes (
git commit -m 'Add YourFeatureName'). - Push to the branch (
git push origin feature/YourFeatureName). - Open a Pull Request.
- Emoji icons provided by emojihub.
- Inspired by classic memory card games.
Check out the live version of the project: Emoji Memory Game
For any inquiries or feedback, please reach out at [email protected].
Let’s have fun matching emojis! 🎭🎉


