๐ฎ Interactive Rock-Paper-Scissors Game Engine
A persistent, logic-driven game application built with vanilla JavaScript, featuring state management and automated opponent AI.
๐ Live Demo
Play Now
๐ ๏ธ Tech Stack

โจ Key Features
๐ฏ Persistent State Management
- 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
๐ค Intelligent Opponent System
- Localized random-choice algorithm powers automated computer opponent
- Real-time win/loss/tie calculations for 5-round matches
- Deterministic logic ensures fair gameplay
๐จ Dynamic UI Rendering
- DOM manipulation for responsive feedback loops
- Real-time score updates and result displays
- Interactive visual feedback for user inputs and game outcomes
๐๏ธ Optimized Architecture
- 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
๐ฎ How to Play
- 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
๐ Project Structure
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)
๐ฏ Technical Highlights
- 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
๐ Future Enhancement Opportunities
- 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
๐จโ๐ป Developer
Sri Rama Krishna Chowdary Maddipati
๐ License
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.