✊ Rock, Paper, Scissors in Python – My First Real Game

When you’re just starting out in programming, there’s something incredibly satisfying about turning a simple idea into working code. One of the first games I wanted to build in Python was the classic: Rock, Paper, Scissors.

Not a graphical version. Not something with sounds or animations.
Just a good old-fashioned text-based console game, where I could finally feel like “Okay, I just built a game.”

At first, I thought it would be easy.
Three choices: rock, paper, or scissors.
Compare the two players’ picks. Decide who wins. Done.

Right?

Well… almost.

Starting Simple

I began with a list: ['kő', 'papír', 'olló'].
Kriszti (the computer) would pick randomly using random.choice(), and Sanyi (the player) would input their choice manually. That already felt cool — the computer making a move on its own!

Then I added the logic. If both players chose the same thing, it’s a draw. If not, the usual rules apply: rock beats scissors, scissors beats paper, paper beats rock.

Pretty soon, I was playing rounds against the computer.

Making It a Real Game

But it wasn’t enough. I didn’t just want a single round — I wanted a game with scoring.
So I added a win counter: sanyi_win and kriszti_win, and the game continued until one player reached 3 points.

Now it was intense. Best of 5. Like a real match.

But I didn’t stop there — I added input validation to make sure the player didn’t accidentally type something like ko instead of . If they did, the program would just say “Only rock, paper, or scissors is accepted!” and let them try again.

And every round had a full update: who chose what, who won that round, and the current score.

What I Learned

It may sound like a simple project — and it is — but this little game taught me so much:

  • How to use lists and randomization
  • How to structure a game loop
  • How to keep and update score
  • How to validate user input
  • How to keep code organized with multiple conditions

Looking Ahead

Right now, this is a pure console-based game, no frills, no GUI — just logic, structure, and a bit of fun.

Eventually, I want to:

  • Turn this into a more modular version using functions
  • Maybe add a simple graphical interface with Tkinter
  • Or even allow two-player mode!

But even in this form, this project represents a big step. It’s the first time I built something that felt alive. Something interactive. And every time I saw “Sanyi wins!” pop up on screen, I couldn’t help but smile a little.

Because that wasn’t just a win in the game —
it felt like a win in my coding journey, too.