secretwordchecker.java

来自「很有趣的著名游戏Hangman」· Java 代码 · 共 77 行

JAVA
77
字号
import acm.graphics.*;
import acm.program.*;
import acm.util.*;

import java.awt.*;

public class SecretWordChecker extends ConsoleProgram{
	//private static final String SECRET_WORD = "ABC";
	private HangmanLexicon secret_word_list= new HangmanLexicon();
	private String secretWord = "";
	private RandomGenerator rg = new RandomGenerator();
	
	
	public SecretWordChecker(){
		secretWord = secret_word_list.getWord(rg.nextInt(0, secret_word_list.getWordCount() - 1));
		initShowedWord();
	}

	private void initShowedWord() {
		for (int i = 0; i < secretWord.length(); i++){
			showedWord += "-";
		}
	}

	public boolean IsSecretCharChecked(char ch) {
		for(int i = 0; i < secretWord.length(); i++){
	
			if(ch == secretWord.charAt(i)){
				return true;
			}
		}
		return false;
	}

	
	public void updateShowedWord(char ch) {
		for(int i = 0; i < secretWord.length(); i++){
			if(ch == secretWord.charAt(i)){
				showedWord = showedWord.substring(0, i) + ch + showedWord.substring(i+1);

			}
		}
	}
		

	public int getChanceLeft() {
		return chanceLeft;
	}

	public void setChanceLeft(int counter) {
		this.chanceLeft = counter;
	}

	public String getShowedWord() {
		return showedWord;
	}
	
	public int getSecretCharLeft() {
		int secretCharLeft = secretWord.length();
		for(int i = 0; i < secretWord.length(); i ++){
			if(Character.isLetter(showedWord.charAt(i)))
				secretCharLeft--;
		}
		return secretCharLeft;
	}
	
	
	private int chanceLeft = 8;
	private static String showedWord = "";


	public String getSecretWord() {
		return secretWord;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?