A persistent, logic-driven game application built with vanilla JavaScript, featuring state management and automated opponent AI.
- Utilizes Web Storage API to maintain user state across sessions
- Ensures 100% data retention with localStorage integration
- Score and game history persist even after browser closure
- Localized random-choice algorithm powers automated computer opponent
- Real-time win/loss/tie calculations for 5-round matches
- Deterministic logic ensures fair gameplay
- DOM manipulation for responsive feedback loops
- Real-time score updates and result displays
- Interactive visual feedback for user inputs and game outcomes
- Modular code structure separating concerns:
- Move-picking algorithms isolated from event handlers
- Scalable function design for easy feature expansion
- Clean separation between game logic and UI rendering
- Launch the game at sriram629.github.io/Rock-Paper-Scissors-Game
- Select your move by clicking Rock, Paper, or Scissors
- Computer responds with its randomly generated move
- View results instantly with updated scoreboard
- Complete 5 rounds to see the overall match result
- Reset anytime using the "Reset Score" button
Rock-Paper-Scissors-Game/
├── index.html # Game interface structure & embedded JavaScript
├── style.css # UI styling and responsive design
└── images/ # Game assets (rock, paper, scissors icons)
- Event-Driven Programming: Efficient event handling with minimal overhead
- State Persistence: localStorage API for cross-session data retention
- Algorithm Design: Randomization logic for computer opponent
- Responsive Design: Clean, accessible UI with CSS3
- Vanilla JavaScript: Zero dependencies, pure DOM manipulation
- Add CSS animations for move selections and results
- Implement difficulty levels (easy, medium, hard)
- Create multiplayer support
- Add sound effects and visual transitions
- Integrate game statistics and win streaks
Sri Rama Krishna Chowdary Maddipati
This project is created for educational purposes. Feel free to fork, modify, and enhance!
Built with ❤️ using vanilla JavaScript - proving that powerful functionality doesn't always require frameworks.