Advertisement
What_Ever

Untitled

Mar 3rd, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. package eg.edu.alexu.csd.datastructure.hangman.cs69;
  2. import java.util.Random;
  3. import eg.edu.alexu.csd.datastructure.hangman.IHangman;
  4. public class Hangman implements IHangman {
  5.     String[] dict;
  6.     int arrSize = 0, maxGuesses;
  7.     int wrongGuesses = 0;
  8.     static String word = "",sec = "";
  9.     static char[] res;
  10.     @Override
  11.     public void setDictionary(String[] words) {
  12.         dict = words;
  13.         if(words != null)arrSize = words.length;
  14.     }
  15.  
  16.     @Override
  17.     public String selectRandomSecretWord() {
  18.         if(arrSize == 0 || dict == null)return null;
  19.         Random ran = new Random();
  20.         int index = ran.nextInt(arrSize);
  21.         word = dict[index].toUpperCase();
  22.         sec = dict[index];
  23.         int len = dict[index].length();
  24.         if(len != 0 && word!= null){
  25.             res = new char[len];
  26.             for(int i = 0 ; i < len ; i++)res[i] = '-';
  27.         }
  28.         return sec;
  29.     }
  30.  
  31.    
  32.     @Override
  33.     public String guess(Character c) {
  34.         if(wrongGuesses >= maxGuesses || dict == null)return null;
  35.         if(c == null)return String.valueOf(res);
  36.         c = Character.toUpperCase(c);
  37.         if(word.length() == 0 )return "";
  38.         if(word.indexOf(c) == -1)
  39.         {
  40.             wrongGuesses++;
  41.             if(wrongGuesses == maxGuesses)return null;
  42.             return String.valueOf(res);
  43.         }
  44.         else
  45.         {
  46.             int pos = -1;
  47.             while(word.indexOf(c,pos+1) != -1 )
  48.             {
  49.                 pos = word.indexOf(c,pos+1);
  50.                 res[pos] = sec.charAt(pos);
  51.             }
  52.             return String.valueOf(res);
  53.         }
  54.     }
  55.  
  56.     @Override
  57.     public void setMaxWrongGuesses(Integer max) {
  58.         if(max == null){maxGuesses = 0;
  59.         return;
  60.     }
  61.         maxGuesses = max;
  62.     }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement