4个小游戏 猜数字 数学测验 随机pk 数字排序 ,根据java第一章基础写的 ,还望大家多多指导


package day13;

/**
* 练习编码
* 4个小游戏软件
*/
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class 练习01 {
public static void main(String[] args) throws InterruptedException {
//sleep抛出异常
Scanner in = new Scanner(System.in);
while(true){
System.out.println("欢迎进入游戏环节");
System.out.println("1.猜数字游戏 2.数学测验 3.双人企鹅随机PK 4.数字排序0.退出游戏");//玩家选择游戏
String xuanze=in.nextLine();
if("0".equals(xuanze)){//如果玩家选0 则退出程序
System.out.println("欢迎下次体验游戏");
break;
}else if("1".equals(xuanze)){//选则1 进入猜数字游戏
猜数字( );

}else if("2".equals(xuanze)){//选择2 进入数学测验
数学测验();

}else if("3".equals(xuanze)){//选择3 进入企鹅随机pk
双人企鹅随机PK();
}else if("4".equals(xuanze)){//选择4 进入数字排序
数字排序();
}
else{
System.out.println("输入指令错误,请重新输入");
//输入指令错误重新选择
}
}
}

public static void 猜数字(){ //定义猜数字游戏方法
System.out.println("欢迎进入猜数字游戏");
Random random = new Random();
int num = random.nextInt(100)+1;//定义答案数字100中随机一数
int score = 0;//定义猜的次数
Scanner in = new Scanner(System.in);
while(true){
System.out.print("请输入猜测数字:");
int guess = in.nextInt(); score++;
//玩家猜的数字 执行一次猜的次数加一
if(num == guess){//如果猜的数字等于答案数字
System.out.println("猜测"+score+ "次,恭喜你猜对了,天下无双(*_-)!");
break;//跳出游戏循环
}
if(guess > num){//如果猜数字大于答案数字
System.out.println(score+"次,猜大了!");
}else{//如果猜的数字小于答案数字
System.out.println(score+"次,猜小了!");
}
}
}
public static void 数学测验(){//定义数学测验的方法
System.out.println("欢迎进入数学测验");
System.out.println("请答题");
Random random = new Random();
Scanner in = new Scanner(System.in);
int a,b,c,i,z,x,j=0;//a,b为两个随机数c为a b的运算结果
//i为一共的题数,z为a b交换时的中间数,x是ab运算符的
//随机情况,j是答对题目的个数
int sorce=0;//所得分数
String y;//题目运算符
for( i=0;i<10;i++){//随机出10道题目包括10回参数a b五种运算符概率x
a=random.nextInt(10);
b=random.nextInt(10);
x=random.nextInt(5);

if(x==0){//当x为0 则题目为a+b

y="+";
System.out.println(a+y+b+"=?");
int d=in.nextInt();
c=a+b;
if(d!=c){
System.out.println("答错了,不得分");
}else{
System.out.println("答对了,加10分");
sorce+=10;j++;
}


}else if(x==1){//当x为1 则题目为a-b


if(a<b){//当a<b时 2个数互换位置
z=a;
a=b;
b=z;

}

y="-";
System.out.println(a+y+b+"=?");
int d=in.nextInt();
c=a-b;
if(d!=c){
System.out.println("答错了,不得分");
}else{
System.out.println("答对了,加10分");
sorce+=10;j++;
}


}else if(x==2){//当x为2时 题目a*b

y="*";
System.out.println(a+y+b+"=?");
int d=in.nextInt();
c=a*b;
if(d!=c){
System.out.println("答错了,不得分");
}else{
System.out.println("答对了,加10分");
sorce+=10;j++;
}


}else if(x==3){//当x为3时 题目a/b

if(a<b&&a!=0){
//如果被除数小于除数则2数换位 而且被除数不能为0
z=a;
a=b;
b=z;
}
if(b==0){//当除数为0时 自动转换成1
b=1;
}
y="/";
System.out.println(a+y+b+"=?");
int d=in.nextInt();
c=a/b;
if(d!=c){
System.out.println("答错了,不得分");
}else{
System.out.println("答对了,加10分");
sorce+=10;j++;
}

}else if(x==4){//当x为4时 题目为求余运算

if(a<b){//a<b 两数互换
z=a;
a=b;
b=z;
}
if(a==0){//a b均不能等于0 如等于0都换成1
a=1;
}
if(b==0){
b=1;
}
y="%";
System.out.println(a+y+b+"=?");
int d=in.nextInt();
c=a%b;
if(d!=c){
System.out.println("答错了,不得分");
}else{
System.out.println("答对了,加10分");
sorce+=10;j++;
}
}
}

System.out.println("答题结束:共答"+i+"题 "
+ "答对"+j+"题 得分"+sorce);
}
public static void 双人企鹅随机PK() throws InterruptedException{
//定义企鹅pk方法
System.out.println("欢迎进入双人企鹅PK赛");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入玩家1姓名:");
String player1=scanner.nextLine();
System.out.println("请输入玩家2姓名:");
String player2=scanner.nextLine();
Random random=new Random();
int HP1;//定义2只企鹅的声明100到200之间随机数
int HP2;
do{
HP1=random.nextInt(200);
HP2=random.nextInt(200);
}
while(HP1<100||HP2<100);
System.out.println("欢迎玩家"+player1+"和玩家"+player2+"登场!");
System.out.println(player1+"的企鹅"+HP1+"的生命");
System.out.println(player2+"的企鹅"+HP2+"的生命");
System.out.println("开始pk");
Thread.sleep(2000);
String[]Skill=new String[10];//定义企鹅的技能
Skill[0]="普通***!";
Skill[1]="重击!";
Skill[2]="暴击!";
Skill[3]="佛山无影脚!";
Skill[4]="天使之翼!";
Skill[5]="横冲!";
Skill[6]="晴天霹雳";
Skill[7]="企鹅吼!";
Skill[8]="如来神掌!";
Skill[9]="神来一击!";
int[]harm=new int[Skill.length];//定义技能伤害
harm[0]=5;
harm[1]=15;
harm[2]=25;
harm[3]=50;
harm[4]=45;
harm[5]=30;
harm[6]=40;
harm[7]=20;
harm[8]=50;
harm[9]=100;
boolean xuanze=true;
while(HP1>0 && HP2>0){//当2只企鹅生命不为0 进行PK
int a=random.nextInt(Skill.length);//随机出的技能
int b=random.nextInt(2);//2只企鹅随机出技能
if(xuanze){
if(b==1){//玩家2躲避***
Thread.sleep(2000);
System.out.println("玩家"+player1+"的企鹅用"+Skill[a]+"***玩家"+player2+"!");
System.out.println("玩家"+player2+"的企鹅躲避了"+"玩家"+player1+"的"+Skill[a]);
System.out.println("玩家"+player2+"的企鹅体力剩余"+HP2+"!");
}else{//玩家2受到伤害
HP2=HP2-harm[a];
if(HP2<0){//生命低于0后自动为0
HP2=0;
}
Thread.sleep(2000);
System.out.println("玩家"+player1+"的企鹅用"+Skill[a]+"***玩家"+player2+"!");
System.out.println("玩家"+player2+"的企鹅受到"+harm[a]+"点***,体力剩余"+HP2+"!");
}
xuanze=false;
}else{
if(b==0){//玩家1躲避***
Thread.sleep(2000);
System.out.println("玩家"+player2+"的企鹅用"+Skill[a]+"***玩家"+player1+"!");
System.out.println("玩家"+player1+"的企鹅躲避了"+"玩家"+player2+"的"+Skill[a]);
System.out.println("玩家"+player1+"的企鹅体力剩余"+HP1+"!");
}else{//玩家1受到伤害
HP1=HP1-harm[a];
if(HP1<0){
HP1=0;
}
Thread.sleep(2000);
System.out.println("玩家"+player2+"的企鹅用"+Skill[a]+"***玩家"+player1+"!");
System.out.println("玩家"+player1+"的企鹅受到"+harm[a]+"点***,体力剩余"+HP1+"!");
}
xuanze=true;
}
}
Thread.sleep(1000);

if(HP1==0){//玩家1死亡
System.out.println("GameOver 玩家"+player2+"的企鹅胜利!好精彩的战斗");
System.out.println("玩家"+player1+":"+"我一定会回来的!");
}else if(HP2==0){//玩家2死亡
System.out.println("GameOver 玩家"+player1+"的企鹅胜利!好精彩的战斗");
System.out.println("玩家"+player2+":"+"难道我就是传说中的经验宝宝");
}
}

public static void 数字排序() throws InterruptedException{
//定义数字排序方法
System.out.println("欢迎使用数字排序软件");
Scanner in=new Scanner(System.in);
System.out.println("请输入所需排序的个数最大10个数");
int n;
n=in.nextInt();//限定输入数字个数
while(n>10){
System.out.println("超出范围,请再次输入");
n=in.nextInt();
}
int[] a=new int[n];
for(int i=0;i<a.length ;i++){//输入要排序的数字
System.out.println("请输入数字");
int b=in.nextInt();
a[i]=b;
}
System.out.println("输入的结果"+Arrays.toString(a));
Arrays.sort(a);
System.out.println("排序后的结果"+Arrays.toString(a));
Thread.sleep(1000);
int[]c=Arrays.copyOf(a,a.length);
boolean xuanze=true;
while(xuanze){ //选择继续增加数字排序 还是退出
System.out.println("1继续增加 0停止增加");
Scanner inn=new Scanner(System.in);
String d=inn.nextLine();
if("1".equals(d)){
System.out.println("请输入数字");
c=Arrays.copyOf(c, c.length+1 );
c[c.length -1]=in.nextInt();
System.out.println("增加数字后的数列"+Arrays.toString(c));
Arrays.sort(c);
System.out.println("排好顺序后的输出"+Arrays.toString(c));

}else if("0".equals(d)){
System.out.println("停止增加,最后结果为"+Arrays.toString(c));
break;
} else{
System.out.println("指令错误重新选择");
}
}System.out.println("感谢使用次软件@—@");
}
}