Python Forum
Feedback Requested: A Collection of Rock-Paper-Scissors Implementations
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Feedback Requested: A Collection of Rock-Paper-Scissors Implementations
#1
Hi everyone, this is my first post to python-forum.io,

I’ve been working on a project that I’d love to get your feedback on! It’s a collection of four Python implementations of the classic "Rock-Paper-Scissors" game, ranging from a minimal (~20 lines) version to a modular framework designed for extensibility (~350 lines of code plus unit tests).

The project started as a personal exercise to explore different programming approaches and improve my Python skills. Along the way, I’ve focused on:
  • Writing clean and readable code (using docstrings, type annotations, and following the PEPs).
  • Creating unit tests (the "framework" version only), and using linters (Pytest, pylint, flake8, MyPy).
  • Managing the project with modern tools (PyCharm, Poetry, git, GitHub, PyPi, and submodules).

About the Collection

Each implementation showcases a distinct design philosophy:
  • Rock-Scissors-Paper Tiny: A minimalist version (~20 lines) that focuses on simplicity and readability.
  • Rock-Scissors-Paper Minimal: A small, OOP-based game introducing player identity and better structure.
  • Rock-Scissors-Paper YAGNI: A lightweight, modular design that avoids unnecessary complexity while maintaining functionality.
  • Rock-Scissors-Paper Framework: A highly modular framework designed for extensibility, supporting dynamic rule generation and even custom variants like Rock-Paper-Scissors-Lizard-Batman.

Feedback Areas

I’m looking for feedback on any aspect of the project, but here are some specific areas:
  • Code structure and readability: Are there improvements I could make?
  • Use of Python best practices: Am I applying them effectively?
  • Overall design: What do you think about the different approaches to the same problem?

You can find the project on GitHub: Rock-Paper-Scissors Collection

Final Notes

This project was part of my ongoing Python journey, and I’d love to hear your thoughts - whether it’s constructive criticism, areas for improvement, or things you think I did well.

Thanks in advance for taking the time to check it out!

Best,
James
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Code review of my rock paper scissors game Milan 2 3,333 Dec-02-2024, 05:35 PM
Last Post: waris24
  Rock paper Scissors Milan 2 3,819 Feb-01-2021, 03:42 PM
Last Post: Milan
  2nd Project: Rock, Paper, Scissors MiNigle 3 3,620 Jun-05-2020, 12:50 PM
Last Post: MiNigle
  Rock Paper Scissors Game NectDz 5 4,709 May-31-2020, 12:40 PM
Last Post: NectDz

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020