Today, you're going to program your own version of the legendary Rock, Paper, Scissors game, inspired by The Big Bang Theory... and yes, Lizard and Spock are waiting in the wings too. 🖖🦎
🧱 Your Construction Zones:
Build the basic game: Player vs. Computer (classic RPS, no dictionaries yet)
Upgrade to Dictionaries: Make your code smarter and cooler.
Build a 1000-Game Simulator: See which move wins in mass battles!
BONUS Challenge: Expand to Rock, Paper, Scissors, Lizard, Spock — the only true advanced version.
Starter Hint:
Before we get fancy with science and logic, build a simple menu-driven Rock, Paper, Scissors game against the computer.
Use input() to let the user pick.
Generate the computer's move randomly.
Figure out who wins.
Display the result.
Add try/except blocks to catch bad input! (e.g., Leonard typing "cat" instead of a number.)
Should allow you to keep playing (and keep track of wins and losses)
Use simple if/elif/else to check who wins (no dictionaries yet — you're learning how annoying it is to hardcode matchups
It's time to code like Sheldon — smarter, cleaner, faster.
💡 Why Use a Dictionary?
Right now, you're doing way too much typing and checking for every possibility.
Dictionaries let you say:
"If I pick Rock, it beats Scissors."
"If I pick Paper, it beats Rock."
No more endless if/else madness.
This shows that we have "rock" as a key, but its values should be a list (of everything that beats rock!!!
➡️ What this means / How To Use It:
If the player chooses "rock", then rock beats anything listed in its array.
"Rock smashes scissors. If computer picks scissors and you picked rock, you win."
The dictionary lets you quickly check:
What your move beats
No giant if/elif/else towers needed
"You need to build out the full dictionary yourself for paper and scissors based on the same idea."
Sheldon would definitely run a simulation. Now it's your turn: make your code simulate 1000 to 5000 battles between random players.
Requirements:
Prompt the user to select between 1000 and 5000 games to simulate
Randomly pick moves for both player and computer.
Track wins for Rock, Paper, and Scissors.
Print final tallies at the end ("Rock won 360 times", etc.)
You’ve mastered classic Rock, Paper, Scissors — but real champions know the battle is far bigger. It’s time to expand your game to include five moves, just like The Big Bang Theory version!
The moment you've all been waiting for! Sheldon Cooper’s true genius shines through with Rock, Paper, Scissors, Lizard, Spock! 🦎🖖
Expand your available moves from 3 (rock, paper, scissors) to 5 (rock, paper, scissors, lizard, spock).
Update your move list for player selection and random computer moves.
Create a new winning_moves dictionary to reflect the new rules
Adjust your victory checking code to work with the new dictionary.
Update your menu choices so players know they can pick Rock, Paper, Scissors, Lizard, or Spock.
Make sure all victory messages and error handling still work correctly.
Players should choose whether they want to play:
The classic Rock Paper Scissors Or the full Rock Paper Scissors Lizard Spock!
You must build a Menu System that lets them choose the version up front. This way, when the game is started, you'll have a fully functioning version you can play!!