我正在學習Java,並在這個過程中,我正在寫一個猜字遊戲。 現在我的問題如下:字母位置,找出一個智能的方式猜字遊戲
假設單詞猜測是「行話」。並假設「oodle」是你建議的一個詞。 在處理您的猜測時,應輸出以下內容: 正確的字母:無 錯誤的位置字母:'o'在第一個位置,'l'在第四個位置 請注意,第二個'o'不應該被提及爲字母處於錯誤的位置,因爲我們在此之前已經報告過「o」。因此,如果輸入'ooooo',只有最後一個字母應該高亮顯示,因爲它位於正確的位置,並且如果輸入'ooooz',則只應該突出顯示第一個字母,而不是其他的字母。
我已經嘗試了一些解決方案,但都似乎失敗。我知道有一個聰明/不那麼複雜的方式來做到這一點。那麼有人能幫助我嗎?
代碼:
///Indicates whether a letter has been accounted for
///while highlighting letters in the guess that are not
///in the correct position
private Boolean[][] marked = new Boolean[WordLength][5];
///Holds which all letters have been solved so far
private Boolean[][] solved = new Boolean[WordLength][6];
public void CheckLetters() {
for (int j = 0; j < currentAttempt; j++) {
tempWord = list.get(j); //The guessed words
for (int i = 0; i < WordLength; i++) {
if (tempWord.charAt(i) == CurrentPuzzleWord.charAt(i)) {
solved[i][j] = true; //CurrentPuzzleWord is the string with the hidden word
} else if (CurrentPuzzleWord.indexOf(tempWord.charAt(i)) != -1) {
marked[i][j] = true;
}
}
}
http://www.codeproject.com/KB/game/Lingo__a_simple_word_game.aspx – earldouglas 2011-12-31 17:15:40
+1,不能說爲什麼有人扣分。 Regards – 2011-12-31 17:31:12