This is a team-work approach for Rock-Paper-Scissors Online Multiplayer Game implemented using React.js in Front-end and Node.js in Back-end. The main challenge was to enable instant communication between 2 players without any delays. Therefore, Socket.io library is used to enable this feature.
Access the deployed version of the application: rock-paper-scissors-team.netlify.app
- The game enables 3 options:
- Play with Computer
- Play with a Stranger
- Play with a Friend
- Create a room
- Join a room
- The User has 3 options to choose: Rock, Paper, Scissors
- The Main Rules:
- A Rock beats Scissors
- Scissors beat Paper by cutting it
- Paper beats Rock by covering it
- There are 3 options at the end of a Round: User Wins, Computer Wins or Tie.
- The Game ends when a player wins 3 Rounds.
- The game establishes 2 options based on number of participants:
- Uniplayer : Play with Computer
- Multiplayer : Play with a Friend/ Play with a Stranger.
- The application requires the user's name to enhance user experience.
- The application provides user with 3 options: Rock, Paper, Scissors
- The application enables the option to Change the User Name.
- The application provides the option to the restart the game at the end of it.
- The game starts only after the user inserts its name.
- JavaScript Frameworks: React
- Node.js
- Socket.io
- CSS, HTML
- Font Scripts: Google Font API
%%{init: {'theme': 'base', 'themeVariables': { 'pie1': '#ff6978', 'pie2': '#b1ede8', 'pie3': '#fffcf9'}}}%%
pie
title Languages Used
"JavaScript" : 67
"CSS" : 31.3
"HTML" : 1.7
Clone the repository:
git clone github.com/Bahare09/team-game-rock-paper-scissors.git
Install dependencies:
npm install
Start the development server:
npm start
Shayan Mahnam 💻 |
Vitalina 💻 |
Lorena 💻 |
Bahare 📆 |
Laxmi 💻 |
Tony 💻 |