This is a Rock Paper Scissors game implemented in React. I created it as a learning exercise for for JavaScript, React, Tailwind, and other front-endy stuff.
In the future, this app may be expanded to provide new features and gameplay options.
- React Components:
- Dependencies:
- Fonts:
This is a list of things I'm considering for the future, roughly in order of priority.
- Settings: Rounds per match
- Match (rename Game to Match)
- Add Rounds
- Number of rounds: 1, 3, 5, x (form)
- Modes:
- Best of x rounds
- First to x wins (ignoring losses)
- First to x score (losses count as negative)
- Stats/data structure will need to be reworked to account for this.
- Match
- Settings [mode, numberOfRounds]
- Results [startTime, endTime, winner]
- Rounds [startTime, endTime, playerShot, cpuShot, winner]
- Allow match to be ended early and data for that match will be discarded.
- Allow keyboard controls:
- A or left arrow (Rock), S or down arrow (Paper), D or right arrow (Scissors)
- Space to reset
- Show score as wins + -losses (score can be negative)
- Add stats and charts for results by shot: Win/Lose/Draw:Rock, etc.
- Test mode to run x number of games automatically
- Opponents with various strategies (always same shot, random, based on player's shot patterns, etc)
- Timing based clicks with style points for accuracy and timeout for fault.
- Opponents with ladder like Mortal Kombat.
- Achievements
- Opponents that talk smack and hint as to what their strategy is.
- Multiplayer
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Built with Create React APP. View readme.md file.
1.3.7 - Update dependencies
1.3.6 - Update dependencies
1.3.5 - Update dependencies
1.3.4 - Update dependencies
1.3.3 - Update dependencies
1.3.2 - Refactor reducer functions to remove duplicated code - Update dependencies - Don't apply press down effect to buttons when they are disabled
1.3.1 - Bugfix - Reset game state on reload
1.3.0 - Update various packages
1.2.0 - Update to ChartJS to v4
1.1.0 - Update packages
1.0.0 - Initial release