Day 2 of 100 Days Coding Challenge: Python
Today’s goal: build a Rock-Paper-Scissors game. Because nothing screams “coding wizard in training” like trying to outsmart a random number generator in a game invented for kindergartners with sticky fingers and short attention spans.
The app pits the player against the computer in a glorious text-based battle of chance and ASCII art. I even added little touches, like printed symbols, to make it feel like a retro arcade game that had forgotten to include a joystick.
The last time I played with ASCII was back in 2024, when I coded a cat-themed game featuring a passive-aggressive feline as the final boss. I poured hours into it. My husband played it once, looked at me with deep concern, and asked, “Are you okay?” That was the moment I knew I’d crossed the threshold: I had become a programmer.
Today’s Motivation / Challenge
There’s something charmingly nostalgic about text-based games. They don’t rely on graphics or fancy libraries—just logic, timing, and the eternal struggle to remember whether paper beats rock or rock beats paper. It’s a perfect early project for getting used to input, conditionals, and letting the computer be your unpredictable opponent. Plus, it’s fun. And when you’re learning to code, fun is fuel.
Purpose of the Code (Object)
This program allows a human player to play Rock-Paper-Scissors against the computer. The player types in their choice, the computer picks one at random, and the program determines who wins. It loops until the user decides to stop, making it a great intro to control flow and user input. It’s the kind of project that makes programming feel like a game—because it is.
AI Prompt
Write a Python program that lets a user play Rock-Paper-Scissors against the computer. Include random choices and let the user play again. Bonus: Add ASCII art for each move.
Functions & Features
- Accepts user input (rock, paper, or scissors)
- Randomly selects the computer’s move
- Compare choices and declare a winner
- Loops until the player chooses to quit
- Includes basic ASCII-style flair for fun
Requirements / Setup
Python 3.10 or higher
No external libraries required
Minimal Code Sample
import random
def get_computer_choice():
return random.choice(["rock", "paper", "scissors"])
Randomly picks the computer’s move each round.
Notes / Lessons Learned
I dumped it into the same “to-do list” folder from yesterday, because apparently that’s now my one-size-fits-all app warehouse. Should I organize my files? Probably. Am I going to? Let’s not get ahead of ourselves.
With a bit of help from AI, I added a loop so the game doesn’t just play once and vanish like a magician with stage fright. Now it asks if you want to play again—because one round is never enough when you’re trying to prove you’re smarter than a CPU. And shockingly, I recognized pieces of the code. My brain hasn’t fully turned to digital oatmeal yet.
That said, I kept losing. Badly. I suspect that either the computer is cheating or the game gods are cursing me. My husband tried it and won instantly. So yes, the program works. I just don’t.
Optional Ideas for Expansion
- Add a scoreboard that tracks wins, losses, and ties
- Include emojis or better ASCII graphics to boost the drama
- Introduce a “secret cheat code” that guarantees a win (for testing, of course)
