标题卡牌游戏中,一般都会有抽卡功能(单抽 & 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();
}}
以上代码,