Skip to content

Instantly share code, notes, and snippets.

@mariack
Created March 26, 2015 01:07
Show Gist options
  • Save mariack/736edd1d761d6885ff7e to your computer and use it in GitHub Desktop.
Save mariack/736edd1d761d6885ff7e to your computer and use it in GitHub Desktop.
package Assignments;
import java.util.Scanner;
public class Hangman
{
String secretWord, totalGuesses, letter, guessWrong;
int countWrong;
StringBuffer hideWord;
Scanner keyboard;
final int BODYPARTS = 9;
public void setSecretWord()
{
keyboard = new Scanner(System.in);
System.out.print("Enter the secret word: ");
secretWord = keyboard.next();
System.out.printf("The secret word is \"%s\". SHH!!\n", secretWord);
}
public StringBuffer hideSecretWord(String s)
{
int i, n;
n = s.length();
hideWord = new StringBuffer(n);
for(i = 0; i < n; i++)
{
hideWord.append('-');
}
System.out.println("Word: " + hideWord);
return hideWord;
}
public void matchLetter(String secretWord, StringBuffer hideWord, String letter)
{
int i, n;
n = secretWord.length();
for(i = 0; i < n; i++)
{
if (secretWord.charAt(i) == letter.charAt(0))
{
hideWord.setCharAt(i, letter.charAt(0));
System.out.println("Word so far: " + hideWord);
}
}
}
public void makeGuesses()
{
boolean exit;
System.out.print("Enter a letter: ");
letter = keyboard.next();
totalGuesses = letter;
countWrong = 0;
int y;
y = secretWord.indexOf(letter.charAt(0));
if (y == -1)
{
countWrong++;
}
hideSecretWord(secretWord);
matchLetter(secretWord, hideWord, letter);
System.out.println("Wrong letter count: " + countWrong);
exit = false;
while (!exit)
{
System.out.print("Next letter: ");
letter = keyboard.next();
totalGuesses+=letter;
y = secretWord.indexOf(letter.charAt(0));
if (y == -1)
{
countWrong++;
}
matchLetter(secretWord, hideWord, letter);
System.out.println("Wrong letter count: " + countWrong);
System.out.println("Total guesses: " + totalGuesses);
if(secretWord.equals(hideWord.toString()))
{
System.out.println("You got it!");
exit = true;
}
else if (countWrong == BODYPARTS)
{
System.out.println("Better try again!");
exit = true;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment