GitHunt
YO

yogeshkumarsaini/Hangman-Game

An advanced console-based Hangman game in Java using OOP principles, featuring ASCII graphics, file-based word loading, hints, scoring, and game history.

๐ŸŽฎ Hangman Game

An advanced console-based Hangman Game built using Java and Object-Oriented Programming (OOP) principles.
This project demonstrates clean architecture, file handling, ASCII graphics, and game state management โ€” ideal for beginners to intermediate Java developers.


โœจ Features

  • ๐Ÿงฑ OOP Design

    • Game โ€“ game logic & flow
    • Player โ€“ score & history tracking
    • WordManager โ€“ word loading & selection
    • HangmanDrawing โ€“ ASCII art rendering
  • ๐ŸŽจ ASCII Hangman Drawing

  • ๐Ÿ“ Load words from external file (words.txt)

  • ๐Ÿ” Hint system (1 hint per game)

  • ๐Ÿ“Š Score & game history

  • ๐Ÿ”„ Replay support

  • ๐ŸŽฏ Random word selection


๐Ÿ“‚ Project Structure

hangman/
โ”‚
โ”œโ”€โ”€ Main.java
โ”œโ”€โ”€ Game.java
โ”œโ”€โ”€ Player.java
โ”œโ”€โ”€ WordManager.java
โ”œโ”€โ”€ HangmanDrawing.java
โ””โ”€โ”€ words.txt

โ–ถ How to Run

  1. Clone the repository
    git clone https://github.com/your-username/hangman-java.git
  2. Navigate to project folder
    cd hangman-java
  3. Compile all files
    javac *.java
  4. Run the game
    java Main

โš ๏ธ Make sure words.txt is in the same directory as the .java files.


๐Ÿงช Sample Gameplay

Word: _ _ _ _ _
Attempts left: 6
Enter letter (or 'hint'): a
โœ… Correct guess!

๐Ÿ’ก Hint revealed!

๐Ÿง  Concepts Used

  • Object-Oriented Programming (OOP)
  • Encapsulation & Separation of Concerns
  • File Handling (Scanner, File)
  • Collections (List, ArrayList)
  • Loops & Conditionals
  • ASCII Art Rendering
  • User Input Handling