java 卡牌游戏抽奖。

标题卡牌游戏中,一般都会有抽卡功能(单抽 & 10 连抽)

  • 假设一款游戏中卡牌的等级分为:蓝卡,紫卡,金卡 * *
  • 单抽:每次抽取一张卡牌 *
  • 有80% 机率抽出蓝卡 *
  • 有18% 机率抽出紫卡 *
  • 有2%的机率抽出金卡 *
  • 必做:单抽累计抽10次,如果前面9次没有出现金卡,第10次必出金卡 *
  • 单抽每次消耗 :188元宝 *
    • 选做: 完成10连抽,每抽一次,抽取10张卡牌
package thecrd;
import java.util.Random;
import java.util.Scanner;
public class Thecard {
public staticvoidmain(String[]args){	
//创建三种数组储存卡牌人物	
String[] bluecard={"a-迪丽热巴","a-娜扎","a-王祖贤","a-林珍娜","a-李丽珍","a-周冬雨","a-高圆圆","a-刘诗诗","a-赵丽颖"};	
String[] purple={"b-王昭君钟无艳","b-貂蝉","b-西施","b-妲己","b-安琪拉","b-上官婉儿","b-大乔","b-小乔","b-不知火舞"};
String[] goldcard={"s-小舞","s-朱竹清","s-宁荣荣","s-胡列娜","s-千仞雪比比东","s-白沉香"};	System.out.println("\t\t\t\t\t夺宝");	
//创建一个键盘扫描器接收用户的值。
Scanner contrast=new Scanner(System.in);	A1:while(true){		System.out.println("有以下功能1:60一次\t2:540---10次\t3:充值\t4:退出");	
i nt mue2=contrast.nextInt();		
//判断用户输入的值,当等于一的时候判断出抽奖一次。当值等于二的时候判段为抽奖十次。当值等于三的时候为充值。当值等于四的时候为退出
	switch(mue2){			case 1:	
	//创建一个随机生成1~100的数字,让随机数成为各种卡牌的几率。		
	//判断范围。输出对应范围的考牌。	
		//当随机数小于80时,输出蓝色卡牌。
			Random sz=new Random();	
			int q1=sz.nextInt(100);		//System.out.println(q1);	
				if(q1<=80){		
					//	随机输出bluecard类型的卡牌。		
					//	获取卡牌长度。			
					//	通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。			
					//	通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。		
int a=bluecard.length;		
Random rd=new Random();			
int a1=rd.nextInt(a);		
System.out.println("恭喜获得"+bluecard[a1]);			
//当随机数在范围q1>80&&q1<=98时输出紫色卡牌。。			
//随机输出purple类型的卡牌。			
//获取卡牌长度。			
//通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。			
//通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。			
} else if(q1>80&&q1<97){		
int b1=purple.length;		
Random b2=new Random();			
int b3=b2.nextInt(b1);			
System.out.println("恭喜获得"+purple[b3]);		
//当随机数在范围q1>80&&q1<=98时输出紫色卡牌。。
			} else{			
				//随机输出goldcard类型的卡牌。			
				//获取卡牌长度。				
				//通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。				
				//通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。			
				int c1=goldcard.length;			
				Random c2=new Random();				
				int c3=c2.nextInt(c1);				System.out.println("恭喜获得"+goldcard[c3]);				}			break;		case 2:			
				//当用户输入2时,让卡牌循环执行。输出十次。			
				for(int ss=1;ss<=9;ss++){				
				//创建一个随机生成1~100的数字,让随机数成为各种卡牌的几率。				
				//判断范围。输出对应范围的考牌。				
				//当随机数小于80时,输出蓝色卡牌。
						Random sd=new Random();			
							int q2=sd.nextInt(100);				//System.out.println(q2);				
							if(q2<=80){						
		//	随机输出bluecard类型的卡牌。					
		//	获取卡牌长度。					
		//	通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。						
		//	通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。					
		int a=bluecard.length;					
		Random rd=new Random();						
		int a1=rd.nextInt(a);					System.out.println("恭喜获得"+bluecard[a1]);						        
	         	//当随机数在范围q1>80&&q1<=98时输出紫色卡牌。。				
				//随机输出purple类型的卡牌。						
				//获取卡牌长度。						
				//通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。						
				//通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。						
				} else if(q2>80&&q2<97){					
				int b1=purple.length;				
					Random b2=new Random();		
					int b3=b2.nextInt(b1);						System.out.println("恭喜获得"+purple[b3]);				
						//当随机数在范围q1>80&&q1<=98时输出紫色卡牌。。						
						} else{	
						//随机输出goldcard类型的卡牌。							//获取卡牌长度。							
						//通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。							
						//通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。						
	int c1=goldcard.length;						
	Random c2=new Random();							
	int c3=c2.nextInt(c1);							System.out.println("恭喜获得"+goldcard[c3]);						}					if(ss==9){				
		//随机输出goldcard类型的卡牌。				
		//获取卡牌长度。				
		//通过获取的卡牌长度。创建一个随机数随机输出卡牌下标。					
		//通过随机生成的卡牌下标来确定随机输出的是哪张卡牌。					
		int cm=goldcard.length;					
		Random ca=new Random();						
		int cs=ca.nextInt(cm);						System.out.println("恭喜获得"+goldcard[cs]);						}			}		
			break;		case 3:			
			System.out.println("10元钱一次。90元钱十次。");			
			//接收用户充值的数字。判断抽奖范围。			
			int ww=contrast.nextInt();		
			if(ww==90){			
			System.out.println("恭喜您获得10次抽奖机会。");			
			}else{		
			System.out.println("恭喜您获得1次抽奖机会。");			}			
			break;		case 4:			
			System.out.println("欢迎下次夺宝!");	
				break A1;		
				}	
				}		
				contrast.close();
				}}

以上代码,

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值