怎么样用java编写下面的猜字游戏程序,我们刚刚学,代码不要太难
程序运行显示一个文本菜单主界面:1开始猜数2退出游戏者选择1,则内部自动产生一个1-100之间的随机数,让游戏者来猜这个数,游戏者从键盘输入数字后,程序给出相应的提示信息...
程序运行显示一个文本菜单主界面:1 开始猜数2 退出游戏者选择1,则内部自动产生一个1-100之间的随机数,让游戏者来猜这个数,游戏者从键盘输入数字后,程序给出相应的提示信息(如果比实际小,则提示“小了”,反之则提示“大了”),游戏者根据提示不断从键盘输入数字,若猜中,则提示“恭喜你猜对了,你的战斗力是x%"(x=1-n/8,n是猜中时的次数),游戏者回车确认后,回到主界面;如果输入次数超过8次,则提示“超过次数,尚需努力”,游戏者回车确认后,回到主界面。游戏者若选择2则退出程序。用户在输入过程中若输入错误,应提示:“输入错误,请重新输入” 添加“游戏难度”设置功能: 主菜单增加一项 “游戏参数设置”,主界面显示如下:1 开始猜数2 游戏参数设置9 退出用户选择2后,显示参数设置子菜单: 1 游戏难度设置选1后,提示:“1 难 ;2 一般;3 容易”,读入用户选择,系统设置相应的允许输入的最大次数(1-3对应的最大允许输入的次数是:难--4;一般-6;容易-8 );程序的测试(评分的重要依据): 程序提交前应进行测试,测试的前提:程序能编译通过,能启动运行。测试用例: 输入 期望结果 实际输出 主菜单选择 2 程序退出 主菜单选择 1 进入猜数 正常猜数 给出正确的提示并处理 故意猜错8次 给出超过次数的提示 在主菜单输入3、a 、回车字符 显示输入错误信息,可以重新输入 在猜数时输入"1a" 显示输入错误信息,可以重新输入 、回车
发到我邮箱183283765@qq.com
谢谢 就剩这么多了分了 如果有 都会给你的 谢谢帮忙 我想这个代码可以直接在cmd 运行里面
直接运行 不要弹出新的窗口 展开
发到我邮箱183283765@qq.com
谢谢 就剩这么多了分了 如果有 都会给你的 谢谢帮忙 我想这个代码可以直接在cmd 运行里面
直接运行 不要弹出新的窗口 展开
展开全部
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int guessTime = 8;
boolean restart = true;
while (restart) {
System.out.println("请选择下列选项!");
System.out.println("1 ----开始猜数");
System.out.println("2 ----游戏参数设置");
System.out.println("9 ----退出");
boolean flag = true;
String choose = null;
Scanner in = null;
while (flag) {
in = new Scanner(System.in);
choose = in.next();
if (!choose.matches("[129]")) {
System.out.println("输入错误,请重新输入");
continue;
} else {
break;
}
}
if ("2".equals(choose)) {
boolean chooseLevel = false;
System.out.println("请选择游戏难度!");
System.out.println("1 ----难(4次)");
System.out.println("2 ----一般(6次)");
System.out.println("3 ----容易(8次)");
while (!chooseLevel) {
String s = in.next();
if (s.matches("[123]")) {
switch (Integer.parseInt(s)) {
case 1:
guessTime = 4;
chooseLevel = true;
break;
case 2:
guessTime = 6;
chooseLevel = true;
break;
case 3:
guessTime = 8;
chooseLevel = true;
break;
default:
System.out.println("你输入的选择不存在(请输入1、2、3)");
break;
}
} else {
System.out.println("你输入的选择不存在(请输入1、2、3)");
}
}
continue;
}
if ("9".equals(choose)) {
System.exit(0);
}
if ("1".equals(choose)) {
String number = String.valueOf(Math.round(Math.random() * 100) + 1);
System.out.println(number);
boolean getIt = false;
int count = 0;
while (!getIt && ++count <= guessTime) {
System.out.println("请输入你猜的值(1-100)");
String s = in.next();
if (s.matches("\\d+")) {
try {
if (Integer.parseInt(s) == Integer.parseInt(number)) {
getIt = true;
break;
} else if (Integer.parseInt(s) > Integer.parseInt(number)) {
System.out.println("你输入的数字大了!");
} else {
System.out.println("你输入的数字小了!");
}
} catch (NumberFormatException e) {
System.out.println("你输入的数据超过Integer的最大范围!");
continue;
}
} else {
System.out.println("你输入的数据不合法!");
continue;
}
}
if (getIt) {
System.out.println("恭喜你猜对了,你的战斗力是" + Math.round((1 - count * 1.0 / guessTime) * 100) + "%");
} else {
System.out.println("超过次数,尚需努力");
}
in.nextLine();
in.nextLine();
}
}
}
}
这是详细代码,建议楼主多加研习,修成正果~~
2013-09-26
展开全部
那么多判断,真不是分的问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |