Build Your Own Rock, Paper, Scissors Game

The "Rock, Paper, Scissors Game" project aims to develop a simple and engaging web-based game where users can play against the computer. The game will allow users to choose between three options: rock, paper, or scissors, and will determine the winner based on traditional game rules. This project seeks to provide an entertaining experience while showcasing basic game mechanics and interactivity.

Objectives

  • Allow users to play the game by selecting one of the three options.

  • Display the outcome of each round (win, lose, or draw) and keep track of the score.

  • Provide a reset option to start a new game.

Functional Requirements

Game Interaction

  •  Option Selection: Users can select rock, paper, or scissors via buttons.

  • Game Logic: The game will randomly generate a choice for the computer and compare it to the user's choice to determine the winner.

  • Score Tracking: The application will maintain a score tally of wins, losses, and draws for the current session.

  • Round Display: After each round, the game will display the user's choice, the computer's choice, and the result of the round.

Game Reset

  • Reset Functionality: Users can reset the game to start fresh, clearing the current scores.

Non-Functional Requirements

  • Usability: The user interface should be intuitive and easy to navigate, with clear buttons and results display.

  • Performance: The application should respond instantly to user interactions without noticeable delays.

  • Cross-Platform Compatibility: The game should work on all modern web browsers and devices.

Use Cases 

  • Play Game: Users select an option and see the outcome of their choice.

User Stories

  • As a user, I want to select rock, paper, or scissors so that I can play the game.

  • As a user, I want to see the outcome of each round so that I can track my performance.

  • As a user, I want to reset the game so that I can play again without refreshing the page.

Technical Requirements  

  • Game Logic: Implement the game rules and logic using JavaScript. API Endpoints (if applicable)

  • Basic input validation to ensure the user's choice is valid (rock, paper, or scissors).

  • Use HTTPS for secure communication if deployed online.

Performance

  • Ensure that the application responds immediately to user selections.

  • Optimize the game logic to handle simultaneous user interactions efficiently.

Documentation 

  • Provide user documentation to guide players on how to play the game.

  • Create technical documentation for developers detailing the code structure and potential enhancements

Glossary 

  • Rock, Paper, Scissors: A hand game usually played between two people, where each player simultaneously forms one of three shapes.

  • Score Tracking: Keeping a record of wins, losses, and draws during gameplay. 

Security

  • Reset Game: Users reset the game to clear scores and start a new session.

Appendix

Include wireframes of the user interface and any additional diagrams or references relevant to the project.

Join our community

Need to show-off or ask doubts? Join our Slack Community. Ask questions, help others and learn in public to make the best use of MBProject. Search and join the "project-builders" channel.

Recent Attempts

Be the first to build this project

Ready? Start Building

Includes the necessary PRD, assets, design and frontend files, style guide and a README file to help you with each step of the project.

Start Building (Be Notified)

Tags

Easy

2 Tasks

Gaming

Python

Want Your Certificate?

Complete all the tasks in the project to claim your certificate