Advertisement
krisanits20150301

javafinalproject

Jun 1st, 2014
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.76 KB | None | 0 0
  1. package hangman;
  2.  
  3. import java.util.Scanner;
  4. import java.io.*;
  5.  
  6. class hangmanMethods {
  7.     private static int count = 0;
  8.     private Scanner scan;
  9.     private final int totalGuesses = 6;
  10.     private int guesses;
  11.     private String word;
  12.     private String guessed;
  13.     private boolean done;
  14.     private StringBuffer dashes;
  15.     private char again;
  16.  
  17.     public hangmanMethods() {
  18.  
  19.         guessed = "";
  20.         guesses = totalGuesses;
  21.         done = false;
  22.         chooseWord();
  23.     }
  24.  
  25.     public void reset() {
  26.         guessed = "";
  27.         guesses = totalGuesses;
  28.         done = false;
  29.         chooseWord();
  30.     }
  31.  
  32.     public void openScan() {
  33.         count++;
  34.         try {
  35.             scan = new Scanner(new FileReader("hangWords.txt"));
  36.         } catch (FileNotFoundException e) {
  37.             e.printStackTrace();
  38.         }
  39.     }
  40.  
  41.     public void chooseWord() {
  42.         if (count == 0) {
  43.             openScan();
  44.             count++;
  45.         }
  46.         String temp = "null";
  47.         if (scan.hasNext()) {
  48.             temp = scan.next();
  49.             word = temp;
  50.             makeDashes(temp);
  51.         } else {
  52.             done = true;
  53.  
  54.         }
  55.     }
  56.  
  57.     public String matchLetter(char letter) {
  58.         for (int index = 0; index < word.length(); index++)
  59.             if (word.charAt(index) == letter)
  60.                 dashes.setCharAt(index, letter);
  61.         return ("good guess - ");
  62.     }
  63.  
  64.     public String guess(String s) {
  65.         if (s.equalsIgnoreCase(word)) {
  66.             done = true;
  67.             return "you win!";
  68.         }
  69.        
  70.         else {
  71.             guessed += s;
  72.             if (guesses == 0) {
  73.                 done = true;reset();
  74.                 return ("you lose");
  75.  
  76.             }
  77.  
  78.             if (word.indexOf(s) < 0) {
  79.                 guesses--;
  80.                 return "bad guess";
  81.             } else {
  82.                 return matchLetter(s.charAt(0));
  83.             }
  84.         }
  85.     }
  86.  
  87.     public void makeDashes(String s) {
  88.         StringBuffer dashes = new StringBuffer(s.length());
  89.         for (int count = 0; count < s.length(); count++)
  90.             dashes.append('-');
  91.         this.dashes = dashes;
  92.     }
  93.  
  94.     private void again(char c) {
  95.         if (c == 'y') {
  96.             done = false;
  97.             reset();
  98.         } else {
  99.             done = true;
  100.             System.exit(0);
  101.         }
  102.     }
  103.  
  104.     public static void main(String[] args) {
  105.         boolean once = false;
  106.         Scanner scan = new Scanner(System.in);
  107.         hangmanMethods mine = new hangmanMethods();
  108.  
  109.         String guess;
  110.         System.out.println("Your word is: " + mine.dashes + "\n"
  111.                 + "Your guesses: " + mine.guessed + "\n"
  112.                 + "Your number of guesses left: " + mine.guesses + "\n");
  113.         guess = scan.next();
  114.         System.out.println(mine.guess(guess));
  115.         while (true) {
  116.             if (!mine.done) {
  117.  
  118.                 System.out
  119.                         .println("Your word is: " + mine.dashes + "\n"
  120.                                 + "Your guesses: " + mine.guessed + "\n"
  121.                                 + "Your number of guesses left: "
  122.                                 + mine.guesses + "\n");
  123.                 guess = scan.next();
  124.                 System.out.println(mine.guess(guess));
  125.             } else if (once) {
  126.                 mine.reset();
  127.                 mine.chooseWord();
  128.             } else {
  129.                 System.out.println("play again (y/n)?: ");
  130.                 mine.again(scan.next().charAt(0));
  131.  
  132.                 once = true;
  133.             }
  134.  
  135.         }
  136.  
  137.     }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement