这是我在这个网站上的第一篇文章,所以如果我违反规则或我不知道的事情,我会非常抱歉。也就是说,我已被分配到我的老师做一个Simon Says课程,我正在努力学习课程,所以我正在寻找其他帮助途径。规则如下:
完成此作业的方法完全取决于您。代码必须完全按照指定的方式工作以获得适当的信用。你将设计游戏西蒙。西蒙有四种颜色:红色,蓝色,绿色和黄色。用户必须选择与Simon选择的颜色相同且颜色正确的颜色。西蒙选择的颜色必须是随机的。每一轮连续的西蒙都会在序列中添加另一种颜色。当用户失败时,Simon应该告诉用户他们持续了多少轮。你可以玩多少回合应该没有限制。此分配不需要GUI。如果您使用JOptionPane选择颜色,则必须使用红色,蓝色,绿色和黄色的字母快捷方式。您还必须包含游戏说明。您还必须跟踪每个游戏的高分,并允许用户输入他们的名称以获得高分。如果你关闭程序,你不必保持得分;只有在节目开放的时候。
当我执行我的代码时,当用户给出正确答案但在一个循环后终止时,它不会继续游戏。奇怪的是,如果我给它错误的答案,它似乎只是循环。最后,我想指出我的程序非常基本,因为老实说,我知道如何使用它。谢谢你的帮助
<div class="content-comment">
答案 0 :(得分:0)
您的代码不需要很多,而且您的代码应该比它应该更难:)。
我发布了代码来展示我将如何使用两个单个for循环来制作程序,以及检查用户取消输入时正在创建的讨厌的 NullPointerException。 / p>
public String simon() {
while(true){
generateColor();
for(int i = 0; i < colors.size(); i++){
JOptionPane.showMessageDialog(null, "Color #"+i+" is: "+colors.get(i));
}
for(int i = 0; i < colors.size(); i++){
String input = JOptionPane.showInputDialog("Type in #"+i+" color: ");
if(input == null){
System.out.println("User typed in wrong input");
return "Program ended unsuspectively";
}
if(input.equalsIgnoreCase(colors.get(i))){
System.out.println("You were correct!");
}
else{
System.out.println("you wasnt correct");
return "You ended with a score of: "+score;
}
}
score++;
}
}
private void generateColor(){
int c = (int)(Math.random() * 4);
colors.add(obj[c]);
}
希望这有所帮助并度过美好的一天:)