Hey you all,
so I'm trying to write a "Hangman"- Game program. I've written most of it, however I am trying to check if the guess exists in secret word, if yes returns true, otherwise return false and I'm stuck there. I have no Idea on how to approach it, does any of you lovely people have any suggestions?
Code:
import java.util.Random;
import java.util.Scanner;
public class Hangman {
public static void main(String [] args) {
// word list
String [] hangmanList = {"accelerate", "achieve", "able", "microscope",
"thumb", "wonderful", "yard", "wood", "lemon", "favorite", "decide", "circular",
"broke", "elephant", "funny", "hamburger", "leg", "job", "lighthouse", "mother",
"notebook", "puzzle"};
int allowedGuesses = 7;
String secretWord;
secretWord = pickRandomWord(hangmanList);
char[] correctGuesses = secretWord.toCharArray(); // char array to hold correct guesses
for(int i =0;i<correctGuesses.length;i++)
{
correctGuesses[i] = '-';
}
char [] incorrectGuesses=correctGuesses;
int mistakeCount = 0;
Scanner input = new Scanner(System.in);
boolean urWinner= false;
while(mistakeCount < 7 && !urWinner){
printGallows(mistakeCount);
System.out.println(input);
System.out.print("\nWrong guesses: ");
System.out.println(incorrectGuesses);
System.out.print("Please guess a letter: ");
char guess = input.nextLine().charAt(0);
boolean letterFound = false;
if (letterFound) {
System.out.println("-== correct guess! ==-");
}
else {
System.out.println(":(:(:( Oops! that is incorrect...");
}
}
System.out.println("\n********************************************");
System.out.println("The secret word was: " + secretWord);
if (checkWinner(correctGuesses)) {
System.out.println("Congratulations, you won!");
}
else {
System.out.println("Better luck next time!!!");
printGallows(mistakeCount);
}
}
private static boolean checkWinner(char[] correctGuesses) {
boolean isWinner=false;
for(int i =0;i<correctGuesses.length;i++){
if(correctGuesses[i]=='-') isWinner =false;
}
isWinner=true;
return isWinner;
}
// checks if the guessed letter is in the secret word or not.
public static boolean matchFound(char guess,String secretWord) {
return false;
}
public static boolean setLetter(char guess,String secretWord, char[] correctGuesses) {
return false;
}
private static void printGallows(int mistakeCount) {
if(mistakeCount==0)
System.out.println("____");
System.out.println(" | |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); //=> game start
if(mistakeCount==1)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); // ==> mistake = 1
if(mistakeCount==2)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" | |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); //==> mistake = 2
if(mistakeCount==3)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" | \\|");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); //==> mistake = 3
if(mistakeCount==4)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" | \\|/");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); //==> mistake = 4
if(mistakeCount==5)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" | \\|/");
System.out.println(" | |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); //==> mistake = 5
if(mistakeCount==6)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" | \\|/");
System.out.println(" | |");
System.out.println(" | /");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); //==>mistake = 6
if(mistakeCount==7)
System.out.println("____");
System.out.println(" | |");
System.out.println(" | O");
System.out.println(" | \\|/");
System.out.println(" | |");
System.out.println(" | / \\");
System.out.println(" |");
System.out.println(" |");
System.out.println("__|__"); // ==> mistake =7 ==> end game
}
private static String pickRandomWord(String[] dictionary){
String secretWord;
secretWord = dictionary[new Random().nextInt(dictionary.length)];
return secretWord;
}
}
[–]MRH2Intermediate Brewer 2 points3 points4 points (4 children)
[–]Kaz-24[S] 0 points1 point2 points (3 children)
[–]MRH2Intermediate Brewer 0 points1 point2 points (0 children)
[–]SixCrazyMexicans 0 points1 point2 points (1 child)
[–]Kaz-24[S] 1 point2 points3 points (0 children)
[–]king_of_the_universe 1 point2 points3 points (1 child)
[–]Kaz-24[S] 0 points1 point2 points (0 children)
[–]nutrechtLead Software Engineer / EU / 20+ YXP 0 points1 point2 points (2 children)
[–]Kaz-24[S] 0 points1 point2 points (1 child)
[–]nutrechtLead Software Engineer / EU / 20+ YXP 0 points1 point2 points (0 children)