目前我正在做一個專案,它應該是一個反向猜詞游戲。
這是它應該如何作業:
Enter a word: (input = cheese)
Your word is: _ _ _ _ _ e
What letter do you guess? (input = s)
使用不斷猜測這個詞,直到它完全拼寫出來。如果用戶猜對了字母,則顯示它,否則它仍然顯示如下所示
Your word is: _ _ _ _ _ e
What letter do you guess?
Your word is: _ _ _ _ s e
What letter do you guess?
Your word is: _ _ _ e s e
What letter do you guess?
Your word is: _ _ e e s e
What letter do you guess?
Your word is: _ h e e s e
What letter do you guess?
Your word is: c h e e s e
Gameover!
??目前我有一個包含給定單詞的所有字母的堆疊,如下所示:??
底部:奶酪:頂部
我目前有這個代碼:
while(guesses < letters.size()){
System.out.print("Your word is: ");
for(int i = 1; i < letters.size(); i ){
System.out.print("_ ");
}
System.out.println(letters.peek() test);
System.out.println("Score: " score);
System.out.print("What letter do you guess? ");
char guess = sc.next().charAt(0);
if((Object)guess == letters.peek()){
test = letters.pop();
score ;
}
else{
test = letters.pop();
score--;
}
}
但是它正在列印:
Your word is: _ _ _ _ _ e
Score: 0
What letter do you guess?
Your word is: _ _ _ _ se
Score: 0
What letter do you guess?
Your word is: _ _ _ ees
Score: 0
What letter do you guess?
Your word is: _ _ eese
Score: 0
What letter do you guess?
Your word is: _ hesee
Score: 0
What letter do you guess?
Your word is: ceseeh
Score: 0
Gameover!
謝謝你。如果需要更多資訊,請評論并告訴我!
uj5u.com熱心網友回復:
您的代碼不完整,所以我無法確定問題出在哪里。為了回答你的問題,我假設問題是該行System.out.println(letters.peek() test);錯誤地列印了這個詞。
通過這樣做,test = letters.pop();您將附加letters.pop()到test.
相反,您應該添加letters.pop()到test:
test = letters.pop() test;
uj5u.com熱心網友回復:
嘗試: if(Character.compare(guess, (char) letters.peek())){ 。現有邏輯。}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/373402.html
上一篇:驗證ID號C#
下一篇:如何找到確切的字串
