Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eg.edu.alexu.csd.datastructure.hangman.cs69;
- import java.util.Random;
- import eg.edu.alexu.csd.datastructure.hangman.IHangman;
- public class Hangman implements IHangman {
- String[] dict;
- int arrSize = 0, maxGuesses;
- int wrongGuesses = 0;
- static String word = "",sec = "";
- static char[] res;
- @Override
- public void setDictionary(String[] words) {
- dict = words;
- if(words != null)arrSize = words.length;
- }
- @Override
- public String selectRandomSecretWord() {
- if(arrSize == 0 || dict == null)return null;
- Random ran = new Random();
- int index = ran.nextInt(arrSize);
- word = dict[index].toUpperCase();
- sec = dict[index];
- int len = dict[index].length();
- if(len != 0 && word!= null){
- res = new char[len];
- for(int i = 0 ; i < len ; i++)res[i] = '-';
- }
- return sec;
- }
- @Override
- public String guess(Character c) {
- if(wrongGuesses >= maxGuesses || dict == null)return null;
- if(c == null)return String.valueOf(res);
- c = Character.toUpperCase(c);
- if(word.length() == 0 )return "";
- if(word.indexOf(c) == -1)
- {
- wrongGuesses++;
- if(wrongGuesses == maxGuesses)return null;
- return String.valueOf(res);
- }
- else
- {
- int pos = -1;
- while(word.indexOf(c,pos+1) != -1 )
- {
- pos = word.indexOf(c,pos+1);
- res[pos] = sec.charAt(pos);
- }
- return String.valueOf(res);
- }
- }
- @Override
- public void setMaxWrongGuesses(Integer max) {
- if(max == null){maxGuesses = 0;
- return;
- }
- maxGuesses = max;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement