用java简单的逻辑,以及随机数 和 输入类做的以前用诺基亚玩的几A几B小游戏
[Java] 纯文本查看 复制代码 import java.util.Random;
import java.util.Scanner;
public class NumGame {
public static void main(String[] args){
System.out.println("游戏说明:A代表数字完全正确B代表数字正确但位置不对!");
System.out.println("例如:答案为1365。你输入1759 判断显示为1A1B 你输入数中1和5都有,1的位置与答案中1的位置正确记做1A,5答案中也有但位置不对记做1B");
System.out.println("4A则完全正确!!");
int[] arr=new int[4];
do{
arr=arrNum();
}while(!quChong(arr));
int num=0;
int count=0;
do{
if(count>=10){
System.out.println("GameOver");
System.out.println("请重新开始");
return;
}
num=a4(num(),arr);
count++;
}while(num!=4);
if(count<=2){
System.out.println("你超神了!!!赶紧去买彩票!!");
}else if(count<=5){
System.out.println("厉害了!word哥!");
}else{
System.out.println("能做出来也是棒棒哒!!!");
}
}
//对比,输出结果
public static int a4(int num,int[] arr){
int q=num/1000;
int b=num/100%10;
int s=num/10%10;
int g=num%10;
int countA=0;
int countB=0;
for(int x=0;x<arr.length;x++){
if(arr[x]==q){
if(x==0){
countA++;
}else{
countB++;
}
}else if(arr[x]==b){
if(x==1){
countA++;
}else{
countB++;
}
}else if(arr[x]==s){
if(x==2){
countA++;
}else{
countB++;
}
}else if(arr[x]==g){
if(x==3){
countA++;
}else{
countB++;
}
}
}
System.out.println(countA+"A"+countB+"B");
return countA;
}
//录入4个数字
public static int num(){
System.out.println("请输入1个4位数的整数!");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
return num;
}
//去重
public static boolean quChong(int[] arr){
for(int x=0;x<arr.length;x++){
for(int y=1;y<arr.length;y++){
if(arr[x]==arr[y]&&x!=y){
return false;
}
}
}
return true;
}
//随机生成4个数字
public static int[] arrNum(){
Random rd = new Random();
int[] arr=new int[4];
for(int x=0;x<arr.length;x++){
arr[x]=rd.nextInt(10);
}
return arr;
}
}
做了很久了没时间发,也没时间精简代码.......就这样啦....嘿嘿嘿
|