about | help | code help+videos | done | prefs |
tmhscs@gmail.com hangman
_ _ ____ | | | | __ _ _ __ __ _ _ __ ___ __ _ _ __ / ___| __ _ _ __ ___ ___ | |_| |/ _` | '_ \ / _` | '_ ` _ \ / _` | '_ \ | | _ / _` | '_ ` _ \ / _ \ | _ | (_| | | | | (_| | | | | | | (_| | | | | | |_| | (_| | | | | | | __/ |_| |_|\__,_|_| |_|\__, |_| |_| |_|\__,_|_| |_| \____|\__,_|_| |_| |_|\___| |___/
Hangman is a guessing game for two or more players. One player thinks of a word and asks the other player(s) to guess it by suggesting a letter that might be in the answer. The player(s) lose if they can’t guess the hidden word within a number of tries.
I’ve created a Java class that is only missing three methods to complete the game! Solve them below:
missCheck H
usedLetterSorter H
getWin
Afterwards, you can copy the incomplete code below into BlueJ or an online IDE, copy in the completed methods, and try playing the game!
import java.util.*; public class HangmanGame { public static void main(String[] args){ boolean keepPlaying = true; boolean win = false; int missCount = 0; String lettersGuessed = ""; String hiddenWord = ""; String sortedUsedLetters = ""; String currentLetter = "";while(keepPlaying){ hiddenWord = startMenu(); startGame(); while(!win && (!(missCount>=7))){ printBoard(missCount); printWord(hiddenWord, lettersGuessed); usedLetters(sortedUsedLetters); currentLetter = getLetter(lettersGuessed); lettersGuessed += currentLetter; sortedUsedLetters = usedLetterSorter(sortedUsedLetters,currentLetter); missCount += missCheck(lettersGuessed, hiddenWord); win = getWin(hiddenWord, lettersGuessed); } keepPlaying = exitMenu(win, hiddenWord); win = false; missCount = 0; lettersGuessed = ""; hiddenWord = ""; sortedUsedLetters = ""; currentLetter = ""; } System.exit(0); }
public static boolean getWin(String hiddenWord, String lettersGuessed){ boolean win = false; //Your code goes here return win; }
public static String usedLetterSorter(String usedLetters, String letter){ //You code goes here return new String(); }
public static int missCheck(String used, String word){ int addToMiss = 0; //You code goes here return addToMiss; }
public static String getLetter(String used){ String temp = ""; boolean check = true; Scanner sc = new Scanner(System.in); while(check){ System.out.print("Enter your guess: "); temp = sc.nextLine(); if(temp.isEmpty()){ while(temp.isEmpty()){ System.out.println("You must enter a letter. Please try again!!!\n"); System.out.print("Enter your guess: "); temp = sc.nextLine(); } } temp = temp.substring(0,1).toUpperCase(); if(!Character.isLetter(temp.charAt(0))){ while(!Character.isLetter(temp.charAt(0))){ System.out.println("You must enter a letter not a symbol/number. Please try again!!!\n"); System.out.print("Enter your guess: "); temp = sc.nextLine(); } }
if(used.contains(temp)){ System.out.println("You have already guessed that letter, Please try another!!!\n"); } else{ check = false; } } System.out.print("\n\n"); sc.close(); return temp.toUpperCase(); }
public static void startGame(){ System.out.println("\f"); System.out.println("*********************************"); System.out.println("*******LETS START THE GAME*******"); System.out.println("*********************************"); putPause(1500); }
public static void usedLetters(String str){ System.out.print("Used Letters: " ); for(int i = 0; i < str.length(); i++){ System.out.print(str.substring(i,i+1) + " "); } System.out.print("\n"); }
public static boolean exitMenu(boolean win, String word){
boolean choice = false; Scanner sc = new Scanner(System.in); String str = "";
while(!(str.equalsIgnoreCase("y")||str.equalsIgnoreCase("n"))){ System.out.print("\f"); if(win){ System.out.println("*********************************"); System.out.println("*****YOU ESCAPED THE GALLOWS*****"); System.out.println("*********************************"); System.out.println("******THE WORD/PHRASE WAS********"); System.out.println(word); System.out.println("*********************************"); } else{ printBoard(7); System.out.println("*********************************"); System.out.println("*********YOU WERE HANGED*********"); System.out.println("*********************************"); System.out.println("******THE WORD/PHRASE WAS********"); System.out.println(word); System.out.println("*********************************"); } System.out.println("Would you like to play again? (y/n)"); str = sc.nextLine(); } sc.close(); return str.equalsIgnoreCase("y"); }
public static void printWord(String hiddenWord, String lettersGuessed){ String result = ""; boolean count = false; for(int i = 0; i < hiddenWord.length(); i++){ count = false; if(hiddenWord.substring(i,i+1).equals(" ")){ result += " "; count = true; } for(int j = 0; j < lettersGuessed.length(); j++){ if(hiddenWord.substring(i,i+1).equals(lettersGuessed.substring(j,j+1))){ result += hiddenWord.substring(i,i+1)+ " "; count = true; } } if(!count){ result += "_" + " "; } } System.out.println(result); System.out.print("\n"); }
public static String startMenu(){ int result = 0; String theWord = ""; Scanner scan = new Scanner(System.in); System.out.println("\f*********************************"); System.out.println("***WELCOME TO THE HANGMAN GAME***"); System.out.println("*********************************"); System.out.print("Please Enter a Word: "); theWord = scan.nextLine(); System.out.print("\fYour word has been stored!"); theWord = theWord.toUpperCase(); putPause(1500); scan.close(); return theWord; }
public static void printBoard(int missCount){ System.out.print("\f"); if(missCount == 0){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" ------------- "); } else if(missCount == 1){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" ------------- "); } else if(missCount == 2){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" | | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" ------------- "); } else if(missCount == 3){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" |\\ | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" ------------- "); } else if(missCount == 4){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" /|\\ | "); System.out.println(" | "); System.out.println(" | "); System.out.println(" ------------- "); } else if(missCount == 5){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" /|\\ | "); System.out.println(" | | "); System.out.println(" | "); System.out.println(" ------------- "); } else if(missCount == 6){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" /|\\ | "); System.out.println(" | | "); System.out.println(" \\ | "); System.out.println(" ------------- "); } else if(missCount == 7){ System.out.println(" ----------- "); System.out.println(" | | "); System.out.println(" 0 | "); System.out.println(" /|\\ | "); System.out.println(" | | "); System.out.println(" / \\ | "); System.out.println(" ------------- "); } System.out.print("\n"); }
public static void putPause(int timeMS){ try{ Thread.sleep(timeMS); } catch(Exception e){ e.printStackTrace(); } } }
Copyright Nick Parlante 2017 - privacy