0% found this document useful (0 votes)
29 views13 pages

Python Stone Paper Sizer Game Report

The 'Stone Paper Sizer' is a Python-based implementation of the classic Stone-Paper-Scissors game, designed as a beginner-level project to demonstrate fundamental programming concepts. The application allows users to play multiple rounds against the computer, keeping score and displaying results at the end. Future enhancements may include a graphical user interface and online multiplayer capabilities.

Uploaded by

alianstars137
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views13 pages

Python Stone Paper Sizer Game Report

The 'Stone Paper Sizer' is a Python-based implementation of the classic Stone-Paper-Scissors game, designed as a beginner-level project to demonstrate fundamental programming concepts. The application allows users to play multiple rounds against the computer, keeping score and displaying results at the end. Future enhancements may include a graphical user interface and online multiplayer capabilities.

Uploaded by

alianstars137
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

STONE PAPER SIZER

A Mini Project Report

Project Title: Stone Paper Sizer


Course / Department: ____________
College: ____________
Team Members:
- Sujit Chaurasiya (Leader)
- Ujjwal Singh
- Ravi Verma
- Shweta
- Nitin Maurya
Guide / Supervisor: ____________
Date: 09 November 2025
Certificate
This is to certify that the project entitled 'STONE PAPER SIZER' has been carried out by the
candidates named below under my supervision and to the best of my knowledge the work is
original and not submitted earlier for any other degree/diploma.

Submitted by:

Name: __________________ Signature: ____________

Guide: __________________ Signature: ____________

Date: __________________
Acknowledgement
I express my sincere gratitude to our guide, faculty members and friends who supported
and guided us throughout the project. Their valuable suggestions and encouragement
helped in successful completion of this project.
Abstract
The 'Stone Paper Sizer' is a Python-based implementation of the classic Stone-Paper-
Scissors game. This mini-project aims to demonstrate the use of fundamental programming
constructs such as control structures, randomization, functions, and basic input/output. The
application allows a user to play multiple rounds against the computer, keeps score, and
displays the result and statistics at the end.
Introduction
Stone-Paper-Sizer is a simple two-player game where a user competes against the
computer. Each player chooses one of three options: Stone, Paper, or Sizer (Scissors). The
rules are:
- Stone beats Sizer (Stone crushes Scissors).
- Sizer beats Paper (Scissors cut Paper).
- Paper beats Stone (Paper covers Stone).

This project implements the game logic in Python and provides a user-friendly command-
line interface. It is suitable as a beginner-level project for learning Python basics.

Objectives
1. Implement the Stone-Paper-Sizer game logic using Python.
2. Use functions to structure the code and maintain readability.
3. Use randomization for the computer's moves.
4. Maintain score across multiple rounds and display final statistics.
5. (Optional) Extend the project with GUI or web interface in future scope.

Tools and Technologies


Programming Language: Python 3.x
IDE / Editor: Any (e.g., VS Code, PyCharm, IDLE)
Libraries: random (standard library)
Database: Not required
Platform: Cross-platform (Windows/Linux/Mac)
System Requirements
Minimum:
- Processor: 1 GHz or higher
- RAM: 1 GB
- Python 3.x installed
Recommended:
- Processor: 2 GHz
- RAM: 2 GB or more
- Latest Python 3.x
Modules / Features
1. User Input Module: Accepts user's choice and validates input.
2. Computer Move Module: Generates the computer's move using random.
3. Game Logic Module: Determines the winner of each round.
4. Scoring Module: Keeps track of wins, losses, and draws.
5. Result Module: Displays round result and final statistics.
Algorithm
1. Start the game.
2. Initialize scores (user_win=0, comp_win=0, draw=0).
3. Repeat until user chooses to exit:
a. Ask user for choice (stone/paper/sizer) and validate.
b. Generate computer choice randomly.
c. Compare choices and determine round outcome.
d. Update scores accordingly.
e. Display round result.
4. After exit, display final scores and statistics.
5. End.

Flowchart (textual)
Start -> Initialize Scores -> Get User Choice -> Generate Computer Choice -> Determine
Winner -> Update Scores -> Display Result -> Play Again? -> (Yes: loop) (No: Display Final
Stats -> End)

Note: You can include a diagram (e.g., [Link] / MS Paint) in the final document if required
by your guide.
Source Code (Python)
import random

def get_computer_choice():

return [Link](['stone', 'paper', 'sizer'])

def decide_winner(user, comp):

if user == comp:

return 'draw'

wins = {

('stone', 'sizer'),

('sizer', 'paper'),

('paper', 'stone')

if (user, comp) in wins:

return 'user'

else:

return 'computer'

def main():

user_wins = comp_wins = draws = 0

rounds = 0

print('Welcome to Stone Paper Sizer! (type exit to quit)')

while True:

user = input('Enter your choice (stone/paper/sizer):


').strip().lower()

if user == 'exit':
break

if user not in ('stone', 'paper', 'sizer'):

print('Invalid input. Try again.')

continue

comp = get_computer_choice()

result = decide_winner(user, comp)

rounds += 1

if result == 'user':

user_wins += 1

print(f'You chose {user}, computer chose {comp}. You win


this round!')

elif result == 'computer':

comp_wins += 1

print(f'You chose {user}, computer chose {comp}. Computer


wins this round.')

else:

draws += 1

print(f'You both chose {user}. It\'s a draw.')

print(f'Score -> You: {user_wins} | Computer: {comp_wins} |


Draws: {draws}\n')

print('\nFinal Results:')

print(f'Total rounds: {rounds}')

print(f'You won: {user_wins} times')

print(f'Computer won: {comp_wins} times')

print(f'Draws: {draws}')

print('Thanks for playing!')

if __name__ == "__main__":

main()
Sample Output / Results
Example interaction:

Welcome to Stone Paper Sizer! (type exit to quit)


Enter your choice (stone/paper/sizer): stone
You chose stone, computer chose sizer. You win this round!
Score -> You: 1 | Computer: 0 | Draws: 0

Enter your choice (stone/paper/sizer): exit

Final Results:
Total rounds: 1
You won: 1 times
Computer won: 0 times
Draws: 0
Conclusion
The Stone Paper Sizer project demonstrates the basics of Python programming including
input handling, control flow, use of functions, and simple game logic. It is suitable as a mini
project in introductory programming courses.

Future Scope
- Add GUI using Tkinter or PyQt to make the game more interactive.
- Implement online multiplayer using sockets or a web-based interface using Flask/Django.
- Add move animations and sound effects for better UX.
- Store game statistics in a file or database for long-term tracking.

References
1. Python Official Documentation - [Link]
2. Random module documentation - [Link]
3. Project guides and sample implementations found in programming textbooks.

You might also like