Skip to content

ShiriCodes/hangman-game

Repository files navigation

Hangman Game - Python Implementation

This repository documents the step-by-step development of the classic Hangman game in Python.
It started as a series of small exercises and gradually evolved into a complete, modular, and interactive game.


📁 Contents

Development Steps

  • step_1_welcome.py – prints the welcome screen and Hangman illustrations
  • step_2_input_basics.py – defines constants and gets first user input
  • step_3_display_word.py – displays hidden word as underscores
  • step_4_input_validation.py – adds error handling for invalid guesses
  • step_5_input_function.py – wraps input validation into a reusable function with documentation
  • step_6_guess_validation.py – checks guessed letters, updates guessed letters list, prints feedback if invalid
  • step_7.1_show_hidden_word.py – displays the current state of the secret word
  • step_7.2_show_hidden_word_check_win.py – displays the guessed state of the secret word and checks for a win
  • step_8_print_hangman.py – saves ASCII art of hangman as a constant and prints art based on number of tries
  • step_9_choose_number.py – implements a function that returns the number of unique words and the word at the given circular index

Final Version

  • /final-game/constants.py – stores ASCII art and default word list
  • /final-game/mechanics.py – core game logic (input validation, word selection, win/loss checks)
  • /final-game/main.py – main entry point that ties everything together

🎮 How to Run (final game)

Clone the repository and run the final version (from the repository root):

git clone https://github.com/YOUR_USERNAME/hangman-game.git
cd hangman-game/final-game      # or `cd hangman-game\final-game` on Windows
python main.py                  # or `python3 main.py` on macOS / Linux

Notes

  • The program will prompt for a words file path and a word index.

  • If you created a words.txt in the repository root, and you run main.py from final-game, enter ../words.txt when prompted for the file path.

  • If you run main.py from the repository root (cd hangman-game), enter final-game/words.txt (or final-game\words.txt on Windows).

Example words.txt content (space-separated words):

cat dog mom balloon child hangman

Example interaction:

Enter file path: ../words.txt

Enter index: 1

Recommended Python: Python 3.8+. Use python on Windows or python3 on macOS/Linux depending on your environment.

✅ Example Output (final game)

Welcome to Hangman!
Guess the word:
_ _ _ _ _

Enter a letter:

🧩 Skills Demonstrated

  • Modular program design

  • Error handling and input validation

  • File I/O and word selection from text files

  • Use of sets, lists, and string operations

  • Step-by-step development process leading to a working game

About

Simple Hangman game built in Python, developed step by step as part of learning.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages