History Of Hangman Game?
The history of Hangman dates back to the 18th century, believed to have originated in Europe. It’s a traditional paper-and-pencil guessing game where one player thinks of a word and draws a blank line for each letter of that word. The other player guesses letters to fill in the blanks, attempting to solve the word within a limited number of incorrect guesses. If the guesser fails to solve the word before completing a drawing of a hanging man, they lose.
Though its origins are unclear, Hangman has been widely popularized as a word game in different cultures and has appeared in various formats and adaptations across the world. It’s commonly used for educational purposes, entertainment, and language learning, continuing to be a fun and challenging pastime for players of all ages.
How to create Basic Hangman Game in Java?
- Accept secret word input from the console using Scanner class.
- We will enter secret word from console
- Initialize the game with maximum attempts.
- Also, Initialize an empty array for guessed letters.
- Display underscores for each letter in the secret word.
- Allow the player to input a letter.
- Handle guesses.
- Check if the guessed letter matches any in the secret word
- If matched, then update the displayed word accordingly.
- Otherwise, Reduce attempts for incorrect guesses.
- Repeat until the word is guessed or attempts run out.
- Display success or failure messages based on the game’s outcome.
Program: Create Basic Hangman Game in Java
import java.util.Scanner; public class HangmanGame { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter the secret word: "); String secretWord = scanner.nextLine().toLowerCase(); // Take the secret word as input int attempts = 6; // Set maximum attempts StringBuilder guessedLetters = new StringBuilder(); char[] wordToGuess = new char[secretWord.length()]; for (int i = 0; i < secretWord.length(); i++) { wordToGuess[i] = '_'; // Initialize wordToGuess with underscores } boolean gameWon = false; while (attempts > 0 && !gameWon) { System.out.println("Word to guess: " + String.valueOf(wordToGuess)); System.out.println("Attempts left: " + attempts); System.out.print("Enter a letter: "); char guess = scanner.next().toLowerCase().charAt(0); // Take a letter as input if (guessedLetters.toString().indexOf(guess) != -1) { System.out.println("You already guessed that letter!"); continue; } guessedLetters.append(guess); boolean letterFound = false; for (int i = 0; i < secretWord.length(); i++) { if (secretWord.charAt(i) == guess) { wordToGuess[i] = guess; letterFound = true; } } if (!letterFound) { attempts--; } if (String.valueOf(wordToGuess).equals(secretWord)) { gameWon = true; } } if (gameWon) { System.out.println("Congratulations! You guessed the word: " + secretWord); } else { System.out.println("Sorry, you've run out of attempts. The word was: " + secretWord); } scanner.close(); } }
Output: Play Basic Hangman game in Java
Word to guess: ________ Attempts left: 6 Enter a letter: l Word to guess: l_______ Attempts left: 6 Enter a letter: e Word to guess: l__r___g Attempts left: 6 Enter a letter: a Word to guess: l__r__ng Attempts left: 6 Enter a letter: r Word to guess: l__rning Attempts left: 6 Enter a letter: n Congratulations! You guessed the word: Learning