This is one of the first projects I had the pleasure of creating in Java. The Rock Paper Scissors game is a classic hand game played between humans and villain robots. You are pitted against evil robots who seek to destroy the human race. It's a battle for survival. The outcome of the game determines whether humanity can triumph over its robotic adversaries.
The rules of the Rock Paper Scissors game remain the same:
- Rock beats scissors
- Scissors beat paper
- Paper beats rock
The Rock Paper Scissors game with villain robots offers the following features:
-
Single Player Mode: Test your skills against a formidable computer-controlled opponent. Each villain robot has unique characteristics and strategies, making the game challenging and engaging.
-
Two Player Mode: Play against friend / foe. Pick your side, align yourself with the new AI overlords or stand as a beacon of hope for humanity?
-
Records and Achievements: The game keeps track of your victories against the villain robots. Check the records to see your progress and unlock special achievements as you conquer each robotic adversary.
-
Strategic Decision-Making: Every choice matters. Consider the strengths and weaknesses of each villain robot and select your moves carefully. Adapt your strategy as you progress through increasingly challenging levels.
To play the Rock Paper Scissors game against the villain robots, simply run the program and follow the on-screen instructions. Choose your game mode (single player or two players) and prepare for an epic battle against the robotic adversaries. Make your choices strategically, outwit the robots, and save humanity from their destructive plans.
Are you ready to take on the challenge and prove that humans can triumph over machines? The fate of the world rests in your hands!
-
Additional browser support
-
Add more integrations
- Git Bash - To navigate through the file system, perform system operations, and engage with my GitHub repository.
- IntelliJ IDEA - This is the IDE Utilized for application development.
- ShareX - A handy tool for capturing preview snapshots for this Readme.doc.
- Java - The language utilized to develop this application.
- Implemented a function to add new players to the game, allowing for player registration.
- Created a function to remove old players from the game
- Enabled the display of player names during gameplay, providing a personalized experience.
- Created separate functions to handle player symbols (Rock, Paper, or Scissors) during gameplay.
- Developed methods for starting a new game and resetting the game.
- Added a function that handles the game logic to determine the winner based on the chosen symbols.
- Implemented the ability to assign player values when clicked, allowing players to make their choices.
- Ensured that the game displays the winner at the end of each round or game session.
- Access history records to monitor your achievements.
- Enjoy the added feature of a player turn indicator.
- Explored ways to enhance the traditional Rock Paper Scissors gameplay by introducing different rule sets. Considered modifications to make the game more strategic and exciting.
- Designed the game around the theme of humans versus villain robots, allowing for a unique gameplay experience.
- Explored power-up ideas to add an extra layer of excitement to the game.
- Implemented animations to enhance the visual appeal and engagement of the game. Create animations to provide smooth transitions between gameplay elements and create an immersive experience for the players.
I learned about a lot about classes, OOP, and how to properly use the getter and setter methods. This also prepared me for the difficulties of creating a project on a time crunch. During the process of building this project, I gained significant knowledge and experience in several key areas. Firstly, I deepened my understanding of classes and object-oriented programming (OOP) principles. I learned how to design and implement classes effectively, utilizing encapsulation, inheritance, and polymorphism to create modular and reusable code. Another valuable lesson I learned was how to navigate the challenges of working on a project under time constraints. As I progressed through the development process, I encountered various obstacles that required quick thinking and efficient problem-solving. This experience honed my ability to prioritize tasks, make effective design decisions, and manage my time effectively to meet project requirements. Overall, the project served as an excellent learning opportunity, providing insights into the practical application of classes, OOP principles, and the importance of getter and setter methods.
For support, email me at JayPadilla.dev@gmail.com