Created
March 26, 2015 01:07
-
-
Save mariack/736edd1d761d6885ff7e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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