Hyphonz

Untitled

May 22nd, 2024
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | Source Code | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3.  
  4. public class Main {
  5.   public static void main(String[] args) throws FileNotFoundException {
  6.     String filePath = "src/main/java/Words.txt";
  7.     Scanner s = new Scanner(new File(filePath));
  8.     ArrayList<String> words = new ArrayList<String>();
  9.  
  10.     while (s.hasNextLine()) {
  11.       words.add(s.nextLine().toLowerCase());
  12.     }
  13.  
  14.     if (words.size() > 0) {
  15.       Random random = new Random();
  16.       int randomIndex = random.nextInt(words.size());
  17.       String randomWord = words.get(randomIndex);
  18.       System.out.println("Let's play Hangman! The word has " + randomWord.length() + " letters.");
  19.  
  20.       System.out.println("Initial Blanks: ");
  21.       String blanks = "";
  22.       for (int i = 0; i < randomWord.length(); i++) {
  23.         blanks += "_ ";
  24.       }
  25.       System.out.println(blanks);
  26.       System.out.println();
  27.  
  28.       boolean wordGuessed = false;
  29.       int attempts = 6;
  30.       while (!wordGuessed && attempts > 0) {
  31.         System.out.println("Guess a letter: ");
  32.         Scanner input = new Scanner(System.in);
  33.         String guessedLetter = input.nextLine().toLowerCase();
  34.         boolean letter = false;
  35.         String updatedBlanks = "";
  36.         for (int i = 0; i < randomWord.length(); i++) {
  37.           if (randomWord.charAt(i) == guessedLetter.charAt(0)) {
  38.             updatedBlanks += guessedLetter + " ";
  39.             letter = true;
  40.           } else {
  41.             updatedBlanks += blanks.charAt(2 * i) + " ";
  42.           }
  43.         }
  44.         blanks = updatedBlanks;
  45.         System.out.println("Updated Word: ");
  46.         System.out.println(blanks);
  47.         System.out.println();
  48.         if (!letter) {
  49.           attempts--;
  50.           printHangman(attempts);
  51.           System.out.println("The letter: " + guessedLetter + " is not in the word.");
  52.           System.out.println("You have " + attempts + " attempts left.");
  53.         } else {
  54.           boolean guessed = true;
  55.           for (int i = 0; i < randomWord.length(); i++) {
  56.             if (blanks.charAt(2 * i) == '_') {
  57.               guessed = false;
  58.               break;
  59.             }
  60.           }
  61.           if (guessed) {
  62.             wordGuessed = true;
  63.             System.out.println("Congratulations! You guessed the word: " + randomWord);
  64.           }
  65.         }
  66.       }
  67.  
  68.       if (!wordGuessed) {
  69.         System.out.println("Game over! The word was: " + randomWord);
  70.       }
  71.     }
  72.  
  73.     try {
  74.       FileWriter myWriter = new FileWriter("Words.txt", false);
  75.  
  76.       for (int i = 0; i < words.size(); i++) {
  77.         myWriter.write(words.get(i) + "\n");
  78.       }
  79.       myWriter.close();
  80.     } catch (IOException e) {
  81.       System.out.println("An error occurred.");
  82.       e.printStackTrace();
  83.     }
  84.   }
  85.  
  86.   public static void printHangman(int attempts) {
  87.     String[] hangman = {
  88.         " _______",
  89.         "|       |",
  90.         "|       O",
  91.         "|      /|\\",
  92.         "|      / \\",
  93.         "|"
  94.     };
  95.  
  96.     System.out.println("Hangman:");
  97.     for (int i = 0; i < hangman.length - attempts - 1; i++) {
  98.       System.out.println(hangman[i]);
  99.     }
  100.   }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment