首页 > 编程 > Java > 正文

java小游戏之模拟双色球

2019-11-06 07:56:00
字体:
来源:转载
供稿:网友
使用java实现了模拟双色球
/**1.接受用户输入,6红,1蓝2.随机生成 6红 1蓝3.比较系统的号码和用户号码,记录个数3.验证是否中奖5.系统号码排序6.公布结果*/import java.util.Scanner;import java.util.Random;public class Test9{	public static void main(String[] args){		int[] userRedBall = new int[6];		int userBlueBall = 0;		int[] sysRedBall = new int[6];		int sysBlueBall  =0;		int redCount = 0;		int blueCount = 0;		int[] redBall = new int[33];		int[] blueBall = new int[13];				//填写红球备选区数字		for(int i=0;i<redBall.length;i++){			redBall[i] = i+1;		}				//接收用户选号		System.out.PRintln("双色球游戏开始!");		System.out.println("请问是选择1:机选 2:手选");				Scanner input = new Scanner(System.in);		Random r = new Random();		boolean flag = true;		while(flag){			int isAuto = input.nextInt();			switch(isAuto){				case 1://机选					int index = -1;//下标					System.out.println("机选的红球是:/t/t蓝球");					for(int i=0;i<userRedBall.length;i++){						index = r.nextInt(redBall.length-i);//将随机到的数字赋值给数组下标						userRedBall[i] = redBall[index];//将红球中的随机数赋值给用户红球中						int temp = redBall[index];						redBall[index] = redBall[redBall.length-i-1];						redBall[redBall.length-i-1] = temp;						//redBall[index] = redBall[index]+redBall[redBall.length-i-1];//将随机抽到的数调整到当前数组的最后一位						//redBall[redBall.length-i-1] = redBall[index]-redBall[redBall.length-i-1];						//redBall[index] = redBall[index]-redBall[redBall.length-i-1];						System.out.print(userRedBall[i]+"    ");					}					userBlueBall = r.nextInt(13)+1;//机选篮球					System.out.println("/t"+userBlueBall);					//for(int i=0;i<blueBall.length;i++)					flag = false;					break;				case 2://手选					System.out.println("请选择6个红球号码(1~33):");					for(int i=0;i<userRedBall.length;i++){						userRedBall[i] = input.nextInt();					}					System.out.println("请选择1个蓝球号码(1~13):");					userBlueBall = input.nextInt();					flag = false;					break;				default:					System.out.println("请问是选择1:机选 2:手选");			}		}				//系统随机产生的号码		int index = -1;//下标		for(int i=0;i<sysRedBall.length;i++){			index = r.nextInt(redBall.length-i);//将随机到的数字赋值给数组下标			sysRedBall[i] = redBall[index];//将红球中的随机数赋值给用户红球中			int temp = redBall[index];			redBall[index] = redBall[redBall.length-i-1];			redBall[redBall.length-i-1] = temp;			//redBall[index] = redBall[index]+redBall[redBall.length-i-1];//将随机抽到的数调整到当前数组的最后一位			//redBall[redBall.length-i-1] = redBall[index]-redBall[redBall.length-i-1];			//redBall[index] = redBall[index]-redBall[redBall.length-i-1];		}		sysBlueBall = r.nextInt(13)+1;				//统计结果,判断是两者红球个数redcount		for( int i=0;i<userRedBall.length;i++){			for(int j=0;j<sysRedBall.length;j++){				if(userRedBall[i]==sysRedBall[j]){					int temp = sysRedBall[j];					sysRedBall[j] = sysRedBall[sysRedBall.length-redCount-1];					sysRedBall[sysRedBall.length-redCount-1] = temp;					//sysRedBall[j] = sysRedBall[j] +sysRedBall[sysRedBall.length-redCount-1];					//sysRedBall[sysRedBall.length-redCount-1] = sysRedBall[j] -sysRedBall[sysRedBall.length-redCount-1];					//sysRedBall[j] = sysRedBall[j] -sysRedBall[sysRedBall.length-redCount-1];					redCount++;					break;				}			}		}		if(userBlueBall == sysBlueBall){			blueCount = 1;		}				//排序本期中奖号码		for(int i=0;i<sysRedBall.length-1;i++){			for(int j=0;j<sysRedBall.length-1-i;j++){				if(sysRedBall[j]>sysRedBall[j+1]){					int temp = sysRedBall[j];					sysRedBall[j] = sysRedBall[j+1];					sysRedBall[j+1] = temp;					//sysRedBall[j] = sysRedBall[j] +sysRedBall[j+1];					//sysRedBall[j+1] = sysRedBall[j]-sysRedBall[j+1];					//sysRedBall[j] = sysRedBall[j] -sysRedBall[j+1];				}			}		}				//打印本期中奖号码		System.out.println("本期中奖号码为:/t蓝球");		for(int i=0;i<sysRedBall.length;i++){			System.out.print(sysRedBall[i]+"    ");		}		System.out.println("/t"+sysBlueBall);				//判断是否中奖		System.out.println("******************************");		if(blueCount==0 && redCount<=3 ){			System.out.println("/t      没中奖!");		}else if((blueCount==1)&&redCount<3){			System.out.print("/t 六等奖:5块!");		}else if((redCount==3 &&blueCount==1)||(redCount==4 &&blueCount==0)){			System.out.print("/t 五等奖:10块!");		}else if((redCount==4 &&blueCount==1)||(redCount==5 &&blueCount==0)){			System.out.print("/t 四等奖:200块!");		}else if(redCount==5 &&blueCount==1){			System.out.print("/t 三等奖:3000块!");		}else if(redCount==6 &&blueCount==0){			System.out.print("/t 二等奖:150万!");		}else if(redCount==6 &&blueCount==1){			System.out.print("/t 一等奖:500万!");		}else			System.out.print("/t      系统错误");		System.out.println("******************************");	}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表