背景:我正在通过赫尔辛基大学的大规模开放在线课程 (MOOC) 计划学习 Java。目标之一是构建基于文本的刽子手游戏。这里有更多参考:https : //materiaalit.github.io/2013-oo-programming/part1/week-2/
我想出了大部分代码。但是,游戏执行起来很尴尬。为了扩展,游戏应该一直运行,直到猜出的次数或计数达到 7。因此,while 循环会一直工作,直到达到 7 或猜对单词。
问题:我猜的话是丰田。printWord() 方法通过这样做来隐藏单词:******。每次用户猜测字母时,它都会删除星号。所以,如果我猜出正确的字母,它应该这样做:*o**o。但是,当用户输入下一个字母时,它会忘记猜到了“o”。所以,它目前是这样工作的:
User: o
printWord(): *o*o**
User: T
printWord(): T*****
这是我的主要课程:
public class main {
public static void main(String[] args) {
String word = "Toyota";
int count = 0;
Hangman hangman = new Hangman();
System.out.println("************");
System.out.println("* Hangman *");
System.out.println("************");
System.out.println("");
hangman.printMenu();
System.out.println("");
Scanner reader = new Scanner (System.in);
String input = reader.nextLine();
if (input.equals("quits")){
System.out.println("Thank you for playing!");
}else{
while (count < 7){
char c = reader.next().charAt(0);
hangman.printWord(c);
hangman.printMan(count);
hangman.printStatus(c);
count++;
}
}
}
}
我假设将方法 printWord() 设为静态是问题所在,因为创建该方法的新实例会重置所有内容。但是,删除该关键字不起作用。出于某种原因,printStatus 可以跟踪使用的字母,但不能跟踪实际计数。
慕工程0101907
相关分类