c++模拟原神抽卡

#include<bits/stdc++.h>
using namespace std;
 
int ten;
int wushi;
int o;
int a,j,k,r,h,huan,n;
bool shichou;
void san(int x)
{
	x=rand()%16;  //三星干员
	string l[16]={"芬","香草","翎羽","玫兰莎","卡缇","米格鲁","克洛斯","炎熔","芙蓉","安塞尔","史都华德","梓兰","空爆",
	"月见夜","斑点","泡普卡"};
	if(huan==0){
	cout<<l[x];
	printf("[★★★]");
	huan++;
	}
	else if(huan==4)
	{
	cout<<' '<<l[x];
	printf("[★★★]\n");
	huan=0;
	}
	else 
	{
	cout<<' '<<l[x];
	printf("[★★★]");
	huan++;
	}
	 return; 
}
void si(int x)
{
	x=rand()%41;  //四星干员
	string l[41]={"夜烟","远山","杰西卡","流星","白雪","清道夫","红豆","杜宾","缠丸","霜叶","慕斯","砾","暗索","末药",
	"调香师","角峰","蛇尾箱","古米","深海色","地灵","阿消","猎蜂","格雷伊","苏苏洛","桃金娘","红云","梅","安比尔",
	"宴","刻刀","波登可","卡达","孑","酸糖","芳汀","泡泡","杰克","松果","豆苗","深靛","罗比菈塔"}; 
	if(huan==0){
	cout<<l[x];
	printf("[★★★★]");
	huan++;
	}
	else if(huan==4)
	{
	cout<<' '<<l[x];
	printf("[★★★★]\n");
	huan=0;
	}
	else 
	{
	cout<<' '<<l[x];
	printf("[★★★★]");
	huan++;
	}
	return; 
}
void wu(int x)
{
	x=rand()%60;  //五星干员
string l[60]={"白面鸮","凛冬","德克萨斯","芙兰卡","拉普兰德","幽灵鲨","蓝毒","白金","陨星","天火","梅尔","赫默",
"华法琳","临光","红","雷蛇","可颂","普罗旺斯","守林人","崖心","初雪","真理","空","狮蝎","食铁兽","夜魔","诗怀雅",
"格劳克斯","星极","送葬人","槐琥","苇草","布洛卡","灰喉","吽","惊蛰","摄砂","巫恋","极境","石棉","月禾","莱因哈特",
"断崖","蜜蜡","贾维","安哲拉","燧石","四月","奥斯塔","絮雨","卡夫卡","爱丽丝","乌有","熔泉","赤东","绮良","羽毛笔",
"桑葚","灰毫","浊清"};
if(huan==0){
	cout<<l[x];
	printf("[★★★★★]");
	huan++;
	}
	else if(huan==4)
	{
	cout<<' '<<l[x];
	printf("[★★★★★]\n");
	huan=0;
	}
	else 
	{cout<<' '<<l[x];
	printf("[★★★★★]");
	huan++;
	}
	return; 
}
void liu(int x)
{
	x=rand()%38; //六星干员
	string l[38]={"能天使","推进之王","伊芙利特","艾雅法拉","安洁莉娜","闪灵","夜莺","星熊","塞雷娅","银灰",
	"斯卡蒂","陈","黑","赫拉格","麦哲伦","莫斯提马","煌","阿","刻俄柏","风笛","傀影","温蒂","早露","玲兰",
	"棘刺","森蚺","史尔特尔","瑕光","泥岩","山","空弦","嵯峨","凯尔希","帕拉斯","水月","琴柳","远牙","焰尾"};
	if(huan==0){
    cout<<l[x];
	printf("[★★★★★★]");
	huan++;
	}
	else if(huan==4)
	{
	cout<<' '<<l[x];
	printf("[★★★★★★]\n");
	huan=0;
	}
	else 
	{
	cout<<' '<<l[x];
	printf("[★★★★★★]");
	huan++;
	}
	return; 
}
void choujiang(int  x)
{
	double dd;
	dd=double(j)*4+double(k);
	dd/=n;   
	printf("欧皇鉴定啦~~~~~~\n经过检验,你是");  //随便搞得-v-
	if(dd>=0.4)
	{
		cout<<"超级欧皇!! 可恶啊,我好羡慕!!!,你已经超越了人类了(不做人了)\n"; 
	 } 
	 else if(dd>=0.3&&dd<0.4)
	 {
	 	cout<<"欧皇! 真牛逼,你已经超过了绝大多数人,真贵族血脉!\n"; 
	  } 
	  else if(dd>=0.2&&dd<0.3)
	  {
	  	cout<<"欧洲人! 你还挺幸运的,慕了。\n";
	   } 
	   else if(dd>=0.09&&dd<0.2)
	   {
	   	cout<<"亚洲人, 我们都是黄皮肤。\n";
	   }
	   else if(dd>0.07&&dd<0.09) 
	   {
	   	cout<<"非洲人 ,诶呀,没事的,氪就解决了"; 
	   }
	   else
	   {
	   	cout<<"非酋!!!哈哈哈哈哈哈哈,回家吧酋长!\n";
	   }
	 return; 
}
int main()
{
	printf("这里是简简单单的明日方舟抽奖系统,有保底机制。\n"
	"请输入你想抽奖的次数(输入0结束)\n");
	while(scanf("%d",&n)!=EOF)
	{
		//string str="weeee";
	//	cout<<str.substr();
	shichou=0;
	ten=0,wushi=0; 
		j=0,k=0,r=0,huan=0,h=0;
		if(n==0)break;
		else if(n<0){
			printf("请输入正确的数字:\n");
			continue; 
	    }
        else
		{
			for(int i=0;i<n;i++)
			{
				a=rand()%1000;
				if(a>=0&&a<(20+o))
				{
					liu(0);
					j++;
					if(shichou==0)shichou=1;
					wushi=0;
					o=0;
				}
				else if(a>19+o&&a<100+o)
				{
					wu(0);
					k++;
					if(shichou==0)shichou=1;
					wushi++;
				}
				else if(a>99+o&&a<600+o)
				{
					
					if(ten==9&&shichou==0)
					{
						k++;
						shichou=1;
						wu(0);	
						wushi++;
					}
					else
					{
					si(0);
					r++;
					wushi++;
					ten++;
					}
				}
				else
				{
					if(ten==9&&shichou==0)
					{
						shichou=1;
						wu(0);
						k++;
						wushi++;
					}
					else
					{
					san(0);
					h++;
					wushi++;
					ten++;
					}	
				}
				if(wushi>50)o=(wushi-50)*20;
			}
			}	
			cout<<endl;
			cout<<"总计:"<<endl;
			printf("六星总数目:%d  五星总数目:%d  四星总数目:%d  三星总数目:%d。\n",j,k,r,h); 
			n*=10;
		    printf("消耗合成玉:%d,折合源石: %.2lf\n\n",n*60,double(n)/3);
		    n/=10;
		    if(n<10)
		    {
		    	printf("\n因为次数不足,所以无法做欧皇鉴定\n是否继续?如继续,请输入次数,反之输入0\n\n"); 
			}
			else
			{
				choujiang(n); 
				printf("\n是否继续?如继续,请输入次数,反之输入0\n\n");
			 } 
 } 
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值