大家好,Stackoverflowers。我對Java和編程相當陌生,首先這是我在StackOverflow上的第一個問題,所以請原諒我寫的任何錯誤或愚蠢的代碼。Java/javaFX Hang子手幫忙倒計時錯過嘗試
我正在用Java/JavaFX製作Hangman遊戲。 到目前爲止,我已經能夠閱讀並從文本文件中隨機選擇一個詞。用「%」替換單詞中的每個字符,然後檢查輸入的字母是否存在於隱藏的單詞中,並用正確的字母替換「%」符號。
基本上,除了計算錯誤的數量以外,基本上游戲的作用不大,當一定數量的錯誤已經讓你輸了。
所以讓我們從這裏開始: 我有一個生成了文件中的隨機字的類。 那麼這個詞被返回到另一個類替換所有charcters中
private loadWord LW = new loadWord();
private String unGuessedWord;
private String correctWord;
private StringBuffer sb;
public String replaceWord(){
correctWord = LW.readWords();
char pos[] = new char[correctWord.length()];
for(int i = 0; i < correctWord.length(); i++){
pos[i] += '%';
}
unGuessedWord = new String(pos);
return unGuessedWord;
}
這種方法現在已經變成在「correctWord」到「%」的每一個字母的「%」的方法。
接下來的這個方法檢查是否由玩家猜測的字母是「correctWord」,如果這是真的,顯示出正確的位置正確的字母:
public String letterMatch(char guess){
sb = new StringBuffer(unGuessedWord);
for (int i = 0; i < correctWord.length(); i++) {
if(correctWord.charAt(i) == guess){
sb.setCharAt(i, guess);
}
}
unGuessedWord = new String(sb);
return unGuessedWord;
}
它按預期工作。讓我展示了「FX」的一部分:
play.setOnAction(e->{
gE = new GenerateWord();
hiddenText.setText(gE.randomWord());
play.setText("RESTART");
guesses.clear();
});
這是一個按鈕按下時生成並顯示「unGuessedWord」爲「%」的跡象。
playerField.setOnAction(e->{
hiddenText.setText(gE.letterMatch(guessField.getText().charAt(0)).toUpperCase());
}
});
「playerField」是在JavaFX正常的文本字段,用戶可以輸入文本。 「hiddentext」是一個文本這是猜測,只顯示「%」,直到正確的字母已經猜到了字。
我需要幫助是計算量是錯誤/錯誤的猜測用戶作出後例如6個錯字,遊戲結束。併爲每個錯誤畫一個「男人」的身體部分。
(我看到它在我的頭上):
int lives = 6;
int dead = 0;
//some code
lives--;
if(lives == dead);
//end game
我在這裏停留,我不知道該怎麼辦,什麼我嘗試的作品或沒有按預期。請幫我在這裏。 我,因爲我已經在這個問題上的任何失誤或道歉,如果我的代碼只是簡單的可怕。
只要在調用'letterMatch'之前和之後檢查當前單詞是否相同,並且如果相同,則減少'lives'。 –
@kinKuruna - 查看下面的答案。 – DevilsHnd