用java编写一个猜数游戏

游戏者选择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 );

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;
}

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-17
import java.util.Scanner;

public class test1 {
Scanner input = new Scanner(System.in);
int guess, ans;
boolean is = true;
private int tem=8;

public int getTem() {
return tem;
}

public void setTem(int tem) {
this.tem = tem;
}

public void init() {

while (is) {
System.out.println("请选择:");
System.out.println("请选择:1 开始猜数");
System.out.println("请选择:2 游戏参数设置");
System.out.println("请选择:9 退出");
int a = input.nextInt();
switch (a) {
case 1:
this.start(tem);
is = false;
break;
case 2:
this.choose();
this.init();
is = false;
break;
case 9:
System.exit(0);
default:
break;
}
}
}

public void start(int tem) {
int times = 0;
ans = (int) (Math.random() * 100 + 1);
System.out.println("请输入要猜的数:(1-100)");

for (double i = 1; i <= tem; i++) {
int a = input.nextInt();
if (a > ans) {
System.out.println("猜大了");
} else if (a < ans) {
System.out.println("猜小了");
} else if (a == ans) {
System.out.println("恭喜你猜对了,你的战斗力是" + (1 - i / tem) * 100 + "%");
}
if (i==tem){
System.out.println("超过次数,尚需努力");
}
}

}

public void choose() {
System.out.println("1. 游戏难度设置");
int a = input.nextInt();
System.out.println("1 难 ;2 一般;3 容易");
int b = input.nextInt();
switch (b) {
case 1:
this.setTem(4);
break;
case 2:
this.setTem(6);
break;
case 3:
this.setTem(8);
break;
default:
break;
}
}
}
-------------------------------------------------------------------------------------------------------------
测试类:
public class test {
public static void main(String[] args) {
test1 t=new test1();
t.init();
}
}本回答被提问者采纳
第2个回答  2011-09-21
好犀利 不会

用JAVA语言编写一个“猜数字游戏”的程序
Scanner sc = new Scanner(System.in);```3. 初始化用户猜测的数字为-1,并在一个循环中不断提示用户输入数字,直到猜测正确:```java int guessNum = -1;while (guessNum != num) { System.out.println("请输入1-100之间的整数:");guessNum = sc.nextInt();if (guessNum == num) ...

java简单代码小游戏?
求一个简单又有趣的JAVA小游戏代码System.out.println(猜数字游戏,请输入一个数0到999999,输入-1结束游戏:);inti=sc.nextInt();if(i==-1){break;}count++;if(ir){System.out.print(你猜小了。System.out.println(helloworld!);}}基本概念Java是一种可以撰写跨平台应用软件的面向对象的...

用JAVA语言编写一个“猜数字游戏”的程序
int num = (int)(Math.random()*100)+1;Scanner sc = new Scanner(System.in);int guessNum = -1;while (guessNum != num) { System.out.println("请输入1-100之间整数");guessNum = sc.nextInt();if (guessNum == num) { System.out.println("中啦");} elseif (guessNum < ...

java猜数字,如果猜对了,继续猜,一共猜5次,求代码。
Scanner scanner = new Scanner(System.in);int s = scanner.nextInt();if (p != s) {if (p > s) {System.out.println("你猜得数小了");} else {System.out.println("你猜得数大了");}} else {System.

用JAVA输入一个数字,猜是否正确;100以内数字,正负10以内都对,玩多少次...
do { System.out.println("请猜一个数字:");guess = sc.nextInt();count++;if (guess > num) { System.out.println("猜大了!");} else if (guess < num) { System.out.println("猜小了!"); } else { System.out.println("恭喜你,猜对了!");System.out.println("你总共猜了...

用Java编程实现一个猜数字的游戏:系统随机产生一个1~100的数字,然后让...
1.int num = (int)(Math.random()*100+1);\/\/随机得出一个1~100的数 2.用一个变量去接收玩家输入的数,例如int i;3.用if语句,当玩家输入的数与随机数相等时(i==num),则输出语句(恭喜你猜对了).4.用else写出猜错是的语句.大致思路就是这样.建议你自己去写,只有自己写过才会懂.如有不...

怎么用java写一个游戏排名界面,最好是有代码和解释,谢谢!
java实现的简单猜数字游戏代码,通过随机数与逻辑判断来实现游戏功能 代码如下:import java.util.InputMismatchException;import java.util.Scanner;public class Main { public static void main(String[] args) { \/\/ 产生一个随机数 int number = (int) (Math.random() * 100) + 1;\/\/ 加入count...

JAVA猜数字游戏1.要求随机产生一个数,猜中即为赢,猜不中将提示大了还是...
currentTimeMillis();boolean bingo = false;while (!bingo) {try {System.out.print("猜猜这个数:");count++;Integer theNum = sc.nextInt();switch (theNum.compareTo(randomNum)) {case 0:bingo = true;break;case 1:System.out.println("大了+++++");break;case -1:System.out....

java猜数字小游戏。用eclipse写的
import java.util.Scanner;\/*** Java命令行版 猜数字游戏* @author kaifang*\/public class GuessNum {public static void main(String[] args) {System.out.println("===猜数字游戏===\\n");int answer = (int)(Math.random() * 200 + 1);Scanner sr = new Scanner(System.in);while(tr...

用JAVA编猜数字游戏
1) 程序随机分配给客户一个1—100之间的整数 Random gen = new Random();int a = gen.nextInt(100)+1; \/\/不加1是0到99 2) 用户在输入对话框中输入自己的猜测 Scanner in = new Scanner(System.in);System.out.println("give me a number")int b = in.nextInt();3) 程序返回提示...

相似回答