java 代码编写 "猜数游戏"项目 程序运行显示一个文本菜单主界面: 1 开始猜数 2 退出 游戏者选择1,则内部
“猜数游戏”项目程序运行显示一个文本菜单主界面:1开始猜数2退出游戏者选择1,则内部自动产生一个1-100之间的随机数,让游戏者来猜这个数,游戏者从键盘输入数字后,程序给...
“猜数游戏”项目
程序运行显示一个文本菜单主界面:
1 开始猜数
2 退出
游戏者选择1,则内部自动产生一个1-100之间的随机数,让游戏者来猜这个数,游戏者从键盘输入数字后,程序给出相应的提示信息(如果比实际小,则提示“小了”,反之则提示“大了”),游戏者根据提示不断从键盘输入数字,若猜中,则提示“恭喜你猜对了,你的战斗力是x%"(x=1-n/8,n是猜中时的次数),游戏者回车确认后,回到主界面;如果输入次数超过8次,则提示“超过次数,尚需努力”,游戏者回车确认后,回到主界面。游戏者若选择2则退出程序。
用户在输入过程中若输入错误,应提示:“输入错误,请重新输入”
猜数游戏的扩展(能力强的选做,可加20分):
添加“游戏难度”设置功能:
主菜单增加一项 “游戏参数设置”,主界面显示如下:
1 开始猜数
2 游戏参数设置
9 退出
用户选择2后,显示参数设置子菜单:
1 游戏难度设置
选1后,提示:“1 难 ;2 一般;3 容易”,读入用户选择,系统设置相应的允许输入的最大次数(1-3对应的最大允许输入的次数是:难--4;一般-6;容易-8 );
程序的测试(评分的重要依据):
程序提交前应进行测试,测试的前提:程序能编译通过,能启动运行。
测试用例:
输入 期望结果 实际输出
主菜单选择 2 程序退出
主菜单选择 1 进入猜数
正常猜数 给出正确的提示并处理
故意猜错8次 给出超过次数的提示
在主菜单输入3、a
、回车字符 显示输入错误信息,可以重新输入
在猜数时输入"1a" 显示输入错误信息,可以重新输入
、回车 展开
程序运行显示一个文本菜单主界面:
1 开始猜数
2 退出
游戏者选择1,则内部自动产生一个1-100之间的随机数,让游戏者来猜这个数,游戏者从键盘输入数字后,程序给出相应的提示信息(如果比实际小,则提示“小了”,反之则提示“大了”),游戏者根据提示不断从键盘输入数字,若猜中,则提示“恭喜你猜对了,你的战斗力是x%"(x=1-n/8,n是猜中时的次数),游戏者回车确认后,回到主界面;如果输入次数超过8次,则提示“超过次数,尚需努力”,游戏者回车确认后,回到主界面。游戏者若选择2则退出程序。
用户在输入过程中若输入错误,应提示:“输入错误,请重新输入”
猜数游戏的扩展(能力强的选做,可加20分):
添加“游戏难度”设置功能:
主菜单增加一项 “游戏参数设置”,主界面显示如下:
1 开始猜数
2 游戏参数设置
9 退出
用户选择2后,显示参数设置子菜单:
1 游戏难度设置
选1后,提示:“1 难 ;2 一般;3 容易”,读入用户选择,系统设置相应的允许输入的最大次数(1-3对应的最大允许输入的次数是:难--4;一般-6;容易-8 );
程序的测试(评分的重要依据):
程序提交前应进行测试,测试的前提:程序能编译通过,能启动运行。
测试用例:
输入 期望结果 实际输出
主菜单选择 2 程序退出
主菜单选择 1 进入猜数
正常猜数 给出正确的提示并处理
故意猜错8次 给出超过次数的提示
在主菜单输入3、a
、回车字符 显示输入错误信息,可以重新输入
在猜数时输入"1a" 显示输入错误信息,可以重新输入
、回车 展开
1个回答
展开全部
import java.util.Random;
import javax.swing.*;
public class Game {
private static Random r = new Random();
private static int difficulty = 3;
private static int times = 8;
private static int digit = 0;
private static int number = 0;
private static boolean good = false;
private static int m = r.nextInt(100);
public static void main(String[] args) {
inPut();
}
private static void inPut() {
String inPut = JOptionPane.showInputDialog("请输入数字:1:开始猜数 2:游戏参数设置 9:退出游戏");
int a = Integer.parseInt(inPut);
if(a!=1 && a!=2 && a!=9) {
JOptionPane.showMessageDialog(null, "输入有误,请重新输入!");
inPut();
}
switch(a) {
case 1:
start();
break;
case 2:
modify();
break;
case 9:
break;
}
}
private static void start() {
String inPut = JOptionPane.showInputDialog("游戏开始 请输入所猜数字1-100");
digit = Integer.parseInt(inPut);
if(digit>100 || digit<1) {
JOptionPane.showMessageDialog(null, "输入有误,请重新输入!");
start();
}
number = 1;
while(compare()) {
if(number>=times) {
JOptionPane.showMessageDialog(null, "超过次数,尚需努力");
break;
}
number++;
}
if(good) {
double x = (1 - (double)number/8.00) * 100;
JOptionPane.showMessageDialog(null, "恭喜你猜对了,你的战斗力是"+x+"%");
}
}
private static boolean compare() {
if(digit>m) {
JOptionPane.showMessageDialog(null, "大了");
if(number<times) {
String inPut = JOptionPane.showInputDialog("重新输入所猜数字1-100");
digit = Integer.parseInt(inPut);
}
return true;
}
else if(digit<m) {
JOptionPane.showMessageDialog(null, "小了");
if(number<times) {
String inPut = JOptionPane.showInputDialog("重新输入所猜数字1-100");
digit = Integer.parseInt(inPut);
}
return true;
}
else {
good = true;
return false;
}
}
private static void modify() {
String inPut = JOptionPane.showInputDialog("1:困难 2:一般 3:简单");
difficulty = Integer.parseInt(inPut);
switch(difficulty) {
case 1:
times = 4;
start();
break;
case 2:
times = 6;
start();
break;
case 3:
times = 8;
start();
break;
}
}
}
import javax.swing.*;
public class Game {
private static Random r = new Random();
private static int difficulty = 3;
private static int times = 8;
private static int digit = 0;
private static int number = 0;
private static boolean good = false;
private static int m = r.nextInt(100);
public static void main(String[] args) {
inPut();
}
private static void inPut() {
String inPut = JOptionPane.showInputDialog("请输入数字:1:开始猜数 2:游戏参数设置 9:退出游戏");
int a = Integer.parseInt(inPut);
if(a!=1 && a!=2 && a!=9) {
JOptionPane.showMessageDialog(null, "输入有误,请重新输入!");
inPut();
}
switch(a) {
case 1:
start();
break;
case 2:
modify();
break;
case 9:
break;
}
}
private static void start() {
String inPut = JOptionPane.showInputDialog("游戏开始 请输入所猜数字1-100");
digit = Integer.parseInt(inPut);
if(digit>100 || digit<1) {
JOptionPane.showMessageDialog(null, "输入有误,请重新输入!");
start();
}
number = 1;
while(compare()) {
if(number>=times) {
JOptionPane.showMessageDialog(null, "超过次数,尚需努力");
break;
}
number++;
}
if(good) {
double x = (1 - (double)number/8.00) * 100;
JOptionPane.showMessageDialog(null, "恭喜你猜对了,你的战斗力是"+x+"%");
}
}
private static boolean compare() {
if(digit>m) {
JOptionPane.showMessageDialog(null, "大了");
if(number<times) {
String inPut = JOptionPane.showInputDialog("重新输入所猜数字1-100");
digit = Integer.parseInt(inPut);
}
return true;
}
else if(digit<m) {
JOptionPane.showMessageDialog(null, "小了");
if(number<times) {
String inPut = JOptionPane.showInputDialog("重新输入所猜数字1-100");
digit = Integer.parseInt(inPut);
}
return true;
}
else {
good = true;
return false;
}
}
private static void modify() {
String inPut = JOptionPane.showInputDialog("1:困难 2:一般 3:简单");
difficulty = Integer.parseInt(inPut);
switch(difficulty) {
case 1:
times = 4;
start();
break;
case 2:
times = 6;
start();
break;
case 3:
times = 8;
start();
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询