Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nasirovx/emoji-game
A tic-tac-toe game based on emojis that offers both multiplayer and single-player modes. Every time a user plays in single or multiplayer mode, there are always new emojis
https://github.com/nasirovx/emoji-game
js node-js react redux-thunk typescript vite
Last synced: 14 days ago
JSON representation
A tic-tac-toe game based on emojis that offers both multiplayer and single-player modes. Every time a user plays in single or multiplayer mode, there are always new emojis
- Host: GitHub
- URL: https://github.com/nasirovx/emoji-game
- Owner: nasirovx
- Created: 2024-03-19T15:04:09.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-07-07T22:57:18.000Z (4 months ago)
- Last Synced: 2024-07-07T23:49:46.313Z (4 months ago)
- Topics: js, node-js, react, redux-thunk, typescript, vite
- Language: TypeScript
- Homepage: https://emoji-game-gamma.vercel.app
- Size: 648 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 😛 XO Rumble
A tic-tac-toe game based on emojis that offers both multiplayer and single-player modes. Every time a user plays in single or multiplayer mode, there are always new emojis. In single-player mode, there's a choice between hard and easy modes for the bot. I bet you can't beat the hard mode of the bot 😉
## 1️⃣ Single Player
In this mode, you will play against a computer bot.
- Click on the 'Single Player' button to play.
- Choose a player - there are always new emojis appearing whenever you visit the select player page.
- Then, choose the game mode you want to play with the bot - Hard or Easy.
- The player who gets 3 in a row first wins.
- Whether it's a win, loss, or a draw, a modal displaying the result appears once the game is over. You'll then see two buttons:
- **Replay'** button to play again.
- **Home** button to return to the main menu.
- If you close the browser or leave the page and come back, you'll resume the game from where you left off.## 2️⃣ Multiplayer
In this mode, you can play with another person sitting next to you.
- The first player is automatically selected, and the second player automatically gets their own emoji (random for every game round).
- The player who gets 3 in a row first wins.
- Whether it's a win, loss, or a draw, a modal displaying the result appears once the game is over. You'll then see two buttons:
- 'Replay' button to play again.
- 'Home' button to return to the main menu.
- If you close the browser or leave the page and come back, you'll resume the game from where you left off.## ⚡ Technologies
- `Vite`
- `React.js`
- `TypeScript`
- `Zustand`
- `Styled Components`
- `Framer Motion`## 💡 Idea
Project: [https://github.com/mirayatech/Tic-Tac-Toe](https://github.com/nasirovx/)
I've built a tic-tac-toe game before using HTML, CSS, and JavaScript, which was single-player only. I've always wanted to expand the project by adding multiplayer and making it more interactive. Emojis are something I've also always wanted since I've never seen a tic-tac-toe with emojis.
This is why I decided to create this project again, this time using React and TypeScript. I also had in mind that every time I've played a tic-tac-toe game online, I found most of them boring, that's why with the emojis.
## 🤔 How Can It Be Improved?
The project could be improved by adding sound effects and background music. I think it would also be cool to highlight the three rows that the user got to win, to show at the end who won.
## 🐛 Bug
- The game doesn't work on Android## 🚦 Running the Project
To run the project in your local environment, follow these steps:
1. Clone the repository to your local machine.
2. Run `npm install` or `yarn` in the project directory to install the required dependencies.
3. Run `npm run start` or `yarn start` to get the project started.
4. Open [http://localhost:5173](http://localhost:5173) (or the address shown in your console) in your web browser to view the app.## 📸 - Demo Images