07双色球游戏

项目需求

双色球投注区分为红色球号码区和蓝色球号码区,

红色球号码区由1-33共三十三个号码组成,蓝色球号码区由1-16共十六个号码组成。

投注时选择6个红色球号码和1个蓝色球号码组成一注进行单式投注,每注金额人民币2元。

一等奖:投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖;

二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖;

三等奖:投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖;

四等奖:投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖;

五等奖:投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖;

六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖。

显示中奖结果的同时显示您一共下注人民币??元,累计中奖人民币??元

代码实现:

import java.util.Scanner;
class SsqGame 
{
	public static void main(String[] args) 
	{
		int totalMoney = 0;
		int price = 2;
		int count = 0;//购买了彩票的注数
		boolean isBuy = false;//标识是否购买了彩票
		int[] num = null;//存储双色球号
		Scanner input = new Scanner(System.in);
		do {
			System.out.println("*****欢迎进入双色球彩票系统*****");
			System.out.println("\t1.购买彩票");
			System.out.println("\t2.查看开奖");
			System.out.println("\t3.退出");
			System.out.println("***********************");
			System.out.println("请选择菜单:");
			System.out.println("");
			int choice = input.nextInt();
			switch (choice){
			case 1:
				System.out.println("[双色球彩票系统>购买彩票]");
				System.out.println("您需要下多少注?:");
				count = input.nextInt();
				totalMoney = count * price;

				num = new int[7];
				for (int i=0;i<num.length ;i++ ){
					int red;
					int blue;
					if (i<num.length-1){
						System.out.println("请输入6个红色球号(数字为1-33)");
						red = input.nextInt();
						num[i] = red;
					}else{
						System.out.println("请输入一个蓝色球号(数字为1-16)");
						blue = input.nextInt();
						num[i] = blue;
					}
				}
				System.out.println("您一共买了【"+count+"】注,共需支付【"+totalMoney+"】元,所选号为:");
				for (int i=0;i<num.length ;i++ ){
					System.out.print(num[i]+"\t");
				}
				System.out.println();
				isBuy = true;
				break;
			case 2:
				System.out.println("[双色球彩票系统>查看开奖]");
				if (isBuy){
					//开奖后必须重新卖票
					isBuy = false;
					//调用getLuckNum()得到一个随机中奖号
					int luckNum[] = getLuckNum();
					//输出自己买的彩票号
					System.out.print("已买的彩票号为:");
					for (int n:num){
						System.out.print(n+"\t");
					}
					System.out.println();
					//输出当期的中奖号
					System.out.print("当期的中奖号为:");
					for (int n:luckNum){
						System.out.print(n+"\t");
					}
					System.out.println();
					//判断获奖等级
					int result = getCompareResult(num,luckNum);
					if (result==1){
						System.out.println("【一等奖】,恭喜你!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(500*count)+"】万元");
					}else if (result==1){
						System.out.println("【一等奖】,恭喜你!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(400*count)+"】万元");
					}else if (result==1){
						System.out.println("【一等奖】,恭喜你!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(300*count)+"】万元");
					}else if (result==1){
						System.out.println("【一等奖】,恭喜你!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(200*count)+"】万元");
					}else if (result==1){
						System.out.println("【一等奖】,恭喜你!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(100*count)+"】万元");
					}else if (result==1){
						System.out.println("【一等奖】,恭喜你!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(5*count)+"】万元");
					}else{
						System.out.println("【望再接再厉】,sorry!!共下了【"+count+
							"】注,投资【"+totalMoney+"】元,获奖【"+(0*count)+"】万元");
					}
				}else {
					System.out.println("请先购买彩票,再查看开奖情况!");
				}

				break;
			case 3:
				System.out.println("谢谢使用!!");
				return;
			default:
				System.out.println("输入错误!!");
			
			}
			
		}
		while (true);

	}
	//随机生成一个中奖号
	public static int[] getLuckNum(){
		int luckNum[] = new int[7];
		for (int i=0;i<luckNum.length ;i++ ){
			if (i<luckNum.length-1){//红球
				luckNum[i]=(int)(Math.random()*33)+1;
			}else{
				luckNum[i]=(int)(Math.random()*16)+1;
			}
		}
		return luckNum;
	}
	public static int getCompareResult(int num[],int luckNum[]){
		//查看自己中奖情况
		int luckLevel=0;//中奖等级
		int redEqualCount=0;//红球相等数量
		int blueEqualCount=0;//篮球相等数量
		//将自己的彩票号与开奖号进行比较
		for (int i=0;i<num.length ;i++ ){
			if (i<num.length-1){
				//比较红球==自己买的彩票的红球号与中奖的红球号进行比较
				int r=num[i];//每遍历一次将自己的一个红球号与中奖的所有红球号进行比较
				for (int j=0;j<luckNum.length-1 ;j++ ){
					if (r==luckNum[j]){
						redEqualCount++;
					}
				}
			}else{
				//比较篮球
				if (num[num.length-1]==luckNum[luckNum.length-1]){
					blueEqualCount++;
				}
			}
		}

		//得出结果
		if (redEqualCount==6&&blueEqualCount==1){
			luckLevel=1;
		}else if (redEqualCount==6){
			luckLevel=2; 
		}else if (redEqualCount==5&&blueEqualCount==1){
			luckLevel=3; 
		}else if ((redEqualCount==5)||(redEqualCount==4&&blueEqualCount==1)){
			luckLevel=4; 
		}else if ((redEqualCount==4)||(redEqualCount==3&&blueEqualCount==1)){
			luckLevel=5; 
		}else if (blueEqualCount==1){
			luckLevel=6; 
		}
		return luckLevel;
	}
}

  

猜你喜欢

转载自www.cnblogs.com/songzongyuan-java/p/9289475.html