Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eg.edu.alexu.csd.datastructure.hangman.cs28;
- import java.util.Random;
- import eg.edu.alexu.csd.datastructure.hangman.IHangman;
- public class HangmanEngine implements IHangman {
- String[] words=new String[100];
- static String chosen;
- String current="-------------------------------------------------";
- static int MaxGuesses,wordsLen;
- @Override
- public void setDictionary(String[] words) {
- int i=0;
- while(i<words.length){
- this.words[i]=words[i];
- i++;
- }
- wordsLen=words.length;
- }
- @Override
- public String selectRandomSecretWord() {
- Random rnd=new Random();
- chosen=words[rnd.nextInt(wordsLen)];
- return chosen;
- }
- @Override
- public String guess(Character c) {
- if(c==null) return current.substring(0,chosen.length());
- char lower=Character.toLowerCase(c);
- char upper=Character.toUpperCase(c);
- int flag=0;
- for(int i=0;i<chosen.length();i++){
- if(chosen.charAt(i)==lower) {
- char[] temp = current.toCharArray();
- temp[i] = lower;
- current = String.valueOf(temp);
- flag=1;
- }
- if(chosen.charAt(i)==upper){
- char[] temp = current.toCharArray();
- temp[i] = upper;
- current = String.valueOf(temp);
- flag=1;
- }
- }
- if(flag==0) MaxGuesses--;
- if(MaxGuesses==0) return null;
- return current.substring(0,chosen.length());
- }
- @Override
- public void setMaxWrongGuesses(Integer max) {
- if(max==null) MaxGuesses=0;
- else MaxGuesses=max.hashCode();
- }
- }
Add Comment
Please, Sign In to add comment