C++抽卡模拟器代码

 手搓小游戏代码。

#include<bits/stdc++.h>
#include<Windows.h> 
#include<conio.h>
using namespace std;
int b[25][12]={0};
long long k,n,jin=100;
string qq(int n){
	if(n==1)return "AK-47突击步枪";
	else if(n==2)return "M1911手枪";
	else if(n==3)return "M16突击步枪";
	else if(n==4)return "沙漠之鹰";
	else if(n==5)return "毛瑟M1918";
	else if(n==6)return "格洛克17手枪";
	else if(n==7)return "AWM狙击步枪";
	else if(n==8)return "M870霰弹枪";
	else if(n==9)return "95式自动步枪";
}
string q(int n){
	if(n==1)return "C";
	else if(n==2)return "B";
	else if(n==3)return "A";
	else if(n==4)return "S";
	else if(n==5)return "SS";
	else if(n==6)return "SSS";
}
int xi(){
	printf("	1 C                 40%\n"
	"	2 B                30%\n"
	"	3 A                20%\n"
	"	4 S                  6%\n"
	"	5 SS                  3%\n"
	"	6 SSS                 1%\n\n");
}
int zhanshi(){
	for(int i=1;i<=6;i++){
		cout<<q(i)<<endl;
		int flag=1;
		for(int j=1;j<=10;j++){
			if(b[i][j]>0){
				cout<<"  "<<qq(j)<<"×"<<b[i][j];
				flag=0;
			}
		}
		if(flag)cout<<"  无";
		cout<<endl;
		Sleep(10);
	}
	cout<<endl;
}
int zhan(){
	for(int i=1;i<=6;i++){
		cout<<i<<" "<<q(i);
		int flag=1;
		for(int j=1;j<=10;j++){
			if(b[i][j]>0){
				cout<<"  "<<i<<j<<" "<<qq(j)<<"×"<<b[i][j];
				flag=0;
			}
		}
		if(flag)cout<<"  无";
		cout<<endl;
		Sleep(10);
	}
	cout<<endl;
}
int sui(int r){
	int s=1+rand()%r;
	return s;
}
int pan(int n){
	if(n==1)return 6;
	else if(n>=2&&n<=4)return 5;
	else if(n>=5&&n<=10)return 4;
	else if(n>=11&&n<=30)return 3;
	else if(n>=31&&n<=60)return 2;
	else if(n>=61&&n<=100)return 1;
}
void te(){
	system("cls");
	cout<<"正在加载卡牌";
	Sleep(500);
	cout<<"."; 
	Sleep(500);
	cout<<"."; 
	Sleep(500);
	cout<<"."; 
	Sleep(500);
	system("cls");
}
int chou(int n){
	if(n==1)te();
	int m=sui(100);
	int t=sui(9);
	m=pan(m);
	cout<<"恭喜你你获得了级别为"<<q(m)<<"级的"<<qq(t)<<"!\n";
	b[m][t]++;
}
int mo(int n){
	if(n==1)return 10;
	else if(n==2)return 15;
	else if(n==3)return 30;
	else if(n==4)return 100;
	else if(n==5)return 666;
	else if(n==6)return 8888;
}
void qqq(){
	cout<<"欢";
	Sleep(100); 
	cout<<"迎";
	Sleep(100); 
	cout<<"来";
	Sleep(100); 
	cout<<"到";
	Sleep(100); 
	cout<<"抽";
	Sleep(100); 
	cout<<"卡";
	Sleep(100); 
	cout<<"游";
	Sleep(100); 
	cout<<"戏";
	Sleep(1000); 
}
int mainn(){
	system("cls");
	cout<<"金币数;"<<jin<<"\n   1.!一键去抽卡!\n   2.!卡片收藏集!\n   3.!卡牌稀有度!\n   4.!去兑换金币!\n   5.!清理收藏集!\n\n   请输入:";
	cin>>k;
	if(k==1){
		system("cls");
		cout<<"1 十连抽\n2 先抽一张\n3.自定义\n请输入:";
		int n;cin>>n;
		if(n==2){
			system("cls");
			cout<<"抽卡需要15金币,要抽吗?\n输入1抽,其他数不抽";
			cin>>n;
			if(n==1){
				if(jin>=15){
					jin-=15;
					system("cls");
					chou(1);
					Sleep(1000);
					cout<<"随便输入一个数回到主页"; 
					char a=getch();
					mainn();
				}else{
					cout<<"恭喜你,你没有15金币";
					Sleep(1000);
					mainn();
				}
			}else mainn();
		}else if(n==1){
			system("cls");
			cout<<"十连抽需要100金币,要抽吗?\n输入1抽,其他数不抽";
			cin>>n;
			if(n==1){
				if(jin>=100){
					jin-=100;
					for(int i=1;i<=10;i++){
						chou(0);
						Sleep(10);
					}
					Sleep(1000);
					cout<<"随便输入一个数回到主页"; 
					char a=getch();
					mainn();
				}else{
					cout<<"恭喜你,你没有100金币";
					Sleep(1000);
					mainn();
				}
			}else mainn();
		}else if(n==3){
			system("cls");
			cout<<"你要抽几张?";
			int n;cin>>n;
			double k=n*20*0.8;
			k=int(k);
			cout<<"抽"<<n<<"张牌需要"<<k<<"金币,要抽吗(1抽/0不抽)?";
			int s;cin>>s;
			if(s){
				if(jin>=k){
					jin-=k;
					for(int i=1;i<=n;i++){
						chou(0);
						Sleep(1000/n);
					}
					Sleep(1000);
					cout<<"随便输入一个数回到主页"; 
					char a=getch();
					mainn();
				}else{
					cout<<"恭喜你,你没有"<<k<<"金币";
					Sleep(1000);
					mainn();
				}
			}else mainn();
		}else mainn();
	}else if(k==2){
		system("cls");
		zhanshi();
		Sleep(1000);
		cout<<"随便输入一个数回到主页"; 
		char a=getch();
		mainn();
	}else if(k==3){
		system("cls");
		xi();
		Sleep(1000);
		cout<<"随便输入一个数回到主页";
		char a=getch();
		mainn();
	}else if(k==4){ 
		int l;
		while(1){
			system("cls");
			zhan();
			cout<<"输入要兑换的卡牌前的兑换码\n请输入(输入-1停止兑换,输入66666兑换全部):";
			cin>>l;
			if(l==-1){
				Sleep(1000);
				mainn();
			}
			if(l==66666){
				cout<<"兑换全部要收兑换所的金币数的20%,还要兑换吗?(1兑换/0不兑换)";
				int ssss;cin>>ssss;
				long long tttt=0; 
				if(ssss==0)mainn(); 
				for(int i=1;i<=6;i++){
					for(int j=1;j<=10;j++){
						tttt+=mo(i)*b[i][j];
						b[i][j]=0;
					}
				}
				jin+=tttt*0.8;
				cout<<"全部兑换成功!";
			}else{
				int s=l/10,t=l%10;
				if(b[s][t]==0){
					cout<<"额 ……你输入的牌你没有";
					Sleep(1000);
				}else{
					cout<<"兑换成功!";
					b[s][t]--;
					jin+=mo(s); 
					Sleep(1000);
				}
			}
		}
	}else if(k==5){
		system("cls");
		cout<<"1.种类清理(清理一种枪)\n2.级别清理(清理一个级别中所有的枪)\n请输入:"; 
		int ss;cin>>ss;
		if(ss==1){
			int l;
			while(1){
				system("cls");
				zhan();
				cout<<"输入要清空的卡牌前的兑换码\n请输入(输入-1停止清空):";
				cin>>l;
				if(l==-1){
					Sleep(1000);
					mainn();
				} 
				int s=l/10,t=l%10;
				if(b[s][t]==0){
					cout<<"额 ……你输入的牌你没有";
					Sleep(1000);
				}else{
					cout<<"清空成功!";
					b[s][t]=0;
					Sleep(1000);
				}
			}
		}else if(ss==2){
			int l;
			while(1){
				system("cls");
				zhan();
				cout<<"输入要清空的级别的编号\n请输入(输入-1停止清空):";
				cin>>l;
				if(l==-1){
					Sleep(1000);
					mainn();
				}
				for(int i=1;i<=9;i++){
					b[l][i]=0;
				}
				cout<<"清空成功!";
				Sleep(1000);
			}
		}
		
	}else mainn();
} 
int main(){
	srand(time(NULL));
	qqq();
	mainn();
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值