What_Ever

Untitled

Mar 1st, 2016
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.46 KB | None | 0 0
  1. package eg.edu.alexu.csd.datastructure.hangman.cs28;
  2.  
  3. import java.util.Random;
  4.  
  5. import eg.edu.alexu.csd.datastructure.hangman.IHangman;
  6.  
  7. public class HangmanEngine implements IHangman {
  8.    
  9.     String[] words=new String[100];
  10.     static String chosen;
  11.     String current="-------------------------------------------------";
  12.     static int MaxGuesses,wordsLen;
  13.    
  14.     @Override
  15.     public void setDictionary(String[] words) {
  16.             int i=0;
  17.             while(i<words.length){
  18.                 this.words[i]=words[i];
  19.                 i++;
  20.             }
  21.             wordsLen=words.length;
  22.     }
  23.  
  24.     @Override
  25.     public String selectRandomSecretWord() {
  26.         Random rnd=new Random();
  27.         chosen=words[rnd.nextInt(wordsLen)];
  28.         return chosen;
  29.     }
  30.  
  31.     @Override
  32.     public String guess(Character c) {
  33.         if(c==null) return current.substring(0,chosen.length());
  34.        
  35.         char lower=Character.toLowerCase(c);
  36.         char upper=Character.toUpperCase(c);
  37.         int flag=0;
  38.        
  39.         for(int i=0;i<chosen.length();i++){
  40.             if(chosen.charAt(i)==lower) {
  41.                 char[] temp = current.toCharArray();
  42.                 temp[i] = lower;
  43.                 current = String.valueOf(temp);
  44.                 flag=1;
  45.             }
  46.             if(chosen.charAt(i)==upper){
  47.                 char[] temp = current.toCharArray();
  48.                 temp[i] = upper;
  49.                 current = String.valueOf(temp);
  50.                 flag=1;
  51.             }
  52.         }
  53.         if(flag==0) MaxGuesses--;
  54.         if(MaxGuesses==0) return null;
  55.         return current.substring(0,chosen.length());
  56.     }
  57.  
  58.     @Override
  59.     public void setMaxWrongGuesses(Integer max) {
  60.         if(max==null) MaxGuesses=0;
  61.         else MaxGuesses=max.hashCode();
  62.     }
  63.  
  64. }
Add Comment
Please, Sign In to add comment