自制游戏0.9版
2024-07-29 13:43:39
发布于:广东
#include<bits/stdc++.h>
using namespace std;
void clear() {//清屏
#ifdef _WIN32
	system("cls");
#else
	system("clear");
#endif
}
void sleep(int x) {//等待
	std::this_thread::sleep_for(std::chrono::seconds(x));
}
// gold 金币  jingxi 惊喜
int ans, jingxi = 100, gold = 20000, ryc, csy,shishi = 0 , shenhua = 0 , chuanqi,sls = 0,shls = 0,qls = 0,jls = 0 ;
void viewFunction() {
	cout<<"是否要查看角色功能,是1  否2 :"<<endl;
	
	int look;
	while (cin >> look) {
		if (look == 1 || look == 2) break;
		cout << "没有选项,重新选择:";
	}
	
	if (look == 2) return ;
	
	switch (ans) {
		case 1: 
			clear();
			cout << "你选择的英雄名为黄子冠" << endl << "他的技能为" << endl;
			sleep(1);
			cout << "1.let go      释放该技能后攻击提升25%(所有回合)" << endl;
			cout << "2.我生气了    释放该技能后减少15点生命且提升50%攻击(下一回合)" << endl;
			sleep(5);
			clear();
			break;
		case 2:
			clear();
			cout << "你选择的英雄名为陈奕铭" << endl << "他的技能为" << endl;
			sleep(1);
			cout << "1.睡懒觉    释放该技能后本轮不进行攻击,但可以反伤对面的技能伤害" << endl;
			cout << "2.篮球少年    释放该技能后和对面进行篮球单挑,提升5点伤害" << endl;
			sleep(5); 
			clear();
			break;
	}
}
void pipei(){
    clear(); 
	int sum = 3,kans;
	cout<<"欢迎来到双人对决!!"<<endl; 
	cout<<"请p1选择角色"<<endl;
	cout<<"1.黄子冠"<<"     "<<"2.陈奕铭"<<"      "; 
	//角色数字 
	if(ryc == 1){
		cout<<3<<"."<<"任熠晨"<<"      ";
	}
	if(csy == 1){
		cout<<4<<"."<<"曹圣云"<<"      ";
		
	}
	if(sls == 1){
		cout<<5<<"."<<"宋老师"<<"      ";
		
	} 
	if(jls == 1){
		cout<<6<<"."<<"江老师"<<"      ";
		
	} 
	if(qls == 1){
		cout<<7<<"."<<"覃老师"<<"      ";
	} 
	if(shls == 1){
		cout<<8<<"."<<"申老师"<<"      ";
		
	} 
	cin>>kans;
	switch(kans){
		case 1:
			cout << "你选择的英雄是黄子冠,生命是200"  << endl;
			break;	
		case 2:
			cout << "你选择的英雄是陈奕铭,生命是200" << endl;
			break;	
		case 3:
			cout << "你选择的英雄是任熠晨,生命是250" << endl;
			break;	
		case 4:
			cout << "你选择的英雄是曹圣云,生命是200" << endl;
			break;	
		case 5:
			cout << "你选择的英雄是宋老师,生命是200" << endl;
			break;	
		case 6:
			cout << "你选择的英雄是江老师,生命是200" << endl;
			break;	
		case 7:
			cout << "你选择的英雄是覃老师,生命是150" << endl;
			break;	
		case 8:
			cout << "你选择的英雄是申老师,生命是200" << endl;
			break;		
	}
	sleep(1);
	
	sum = 3;
	int ans6;
	cout<<"请p2选择角色"<<endl;
	cout<<"1.黄子冠"<<"     "<<"2.陈奕铭"<<"      "; 
	if(ryc == 1){
		cout<<3<<"."<<"任熠晨"<<"      ";
		sum++; 
	}
	if(csy == 1){
		cout<<4<<"."<<"曹圣云"<<"      ";
		sum++; 
	}
	if(sls == 1){
		cout<<5<<"."<<"宋老师"<<"      ";
		
	} 
	if(jls == 1){
		cout<<6<<"."<<"江老师"<<"      ";
		
	} 
	if(qls == 1){
		cout<<7<<"."<<"覃老师"<<"      ";
		
	} 
	if(shls == 1){
		cout<<8<<"."<<"申老师"<<"      ";
		
	} 
	cin>>ans6;
	switch(ans6){
		case 1:
			cout << "你选择的英雄是黄子冠,生命是200"  << endl;
			break;	
			
		case 2:
			cout << "你选择的英雄是陈奕铭,生命是200" << endl;
			break;	
			
		case 3:
			cout << "你选择的英雄是任熠晨,生命是250" << endl;
			break;	
		case 4:
			cout << "你选择的英雄是曹圣云,生命是200" << endl;
			break;	
		case 5:
			cout << "你选择的英雄是宋老师,生命是200" << endl;
			break;	
		case 6:
			cout << "你选择的英雄是江老师,生命是200" << endl;
			break;	
		case 7:
			cout << "你选择的英雄是覃老师,生命是150" << endl;
			break;	
		case 8:
			cout << "你选择的英雄是申老师,生命是200" << endl;
			break;		
	}
		
	
	sleep(1);
	clear();
	cout<<"那么,战斗开始!!!!";
	sleep(1);
	clear();
	
			 
	 
}
void choujiang() {
	clear();
	cout << "欢迎来到抽奖" << endl;	
	
	cout << "你现在有" << jingxi << "个AC惊喜" << endl;
	if(jingxi == 0){
		cout << "无法抽奖"; 
	} else {
		cout << "是否选择抽奖(是 1,否 其他)";
		int a;
		cin >> a;
		if(a == 1){
			jingxi--;
			int tisheng = 4;
			cout << "回车1提升概率(求提升到最高的一个)" << endl;
			
			while(tisheng > 0){
				int suiji =  rand() * rand() % 1000 + 1;
				cout << "还剩" << tisheng << "个提升机会";
				int ans;
				cin >> ans;
				if(ans == 1){
					tisheng--;
					if(suiji % 2 == 0){
						cout << "已提升至超稀有"<<"  "; 
					}
					if(suiji % 17 == 0){
						cout << "已提升至史诗"<<"  ";
						shishi = 1; 
					}
					if(suiji % 41 == 0){
						cout << "已提升至神话"<<"  ";
						shenhua =  1;
					}
					if(suiji % 61 == 0){
						cout << "已提升至传奇"<<"  "; 
						chuanqi = 1;
					}
					
					if(tisheng == 0){
						if(chuanqi == 1){
							if(suiji % 4 == 0 || suiji % 4 == 1|| suiji % 4==2){
								if(suiji % 2 == 0){
									clear();
									cout << "恭喜你获得传奇角色覃老师"<<endl; 
								    qls = 1;
									int qans;	// 买了qls
									cout<<"是否查看覃老师的技能(是1  否2)" <<endl; 
									cin>>qans;
									if(qans == 1){
										clear();
										cout << "你抽到的英雄名为覃老师" << endl << "她的技能为" << endl;
										sleep(1);
										cout << "1.自然卷      降低对面50%的攻击伤害,自信值提高10点(最高30点)" << endl;
										cout << "2.自信即是巅峰    当释放技能时,对敌方造成自信点*5的伤害" << endl;
										sleep(5);
										clear();
									} 
									return ;
									}
								else{
									clear();
									cout << "恭喜你获得传奇角色申老师"<<endl; 
								    shls = 1;
									int shans;	// 买了shls
									cout<<"是否查看申老师的技能(是1  否2)" <<endl; 
									cin>>shans;
									if(shans == 1){
										clear();
										cout << "你抽到的英雄名为申老师" << endl << "他的技能为" << endl;
										sleep(1);
										cout << "1.复制         可以复制自己的二技能,特殊机制或普攻,造成双倍伤害,回血" << endl;
										cout << "2.修复代码     当释放技能时,对敌方造成30伤害,吸敌方15点血" << endl;
										cout << "3.特殊机制     每回合会自己10滴血" << endl;
										sleep(5);
										clear();
									} 
									return ;	
								}
							}
							else{
								clear();
								cout << "恭喜你抽到两千金币"; 
								gold += 2000;
								sleep(2);
								return ;
							}
						}
						else if(shenhua == 1){
							if(suiji % 8 != 0){
								if(suiji % 2 == 0){
									clear();
									cout << "恭喜你获得神话角色宋老师"<<endl;
									sls = 1;
									int sans;	// 买了任熠晨
									cout<<"是否查看宋老师的技能(是1  否2)" <<endl; 
									cin>>sans;
									if(sans == 1){
										clear();
										cout << "你抽到的英雄名为宋老师" << endl << "他的技能为" << endl;
										sleep(1);
										cout << "1.拔网线     可以让对方停止攻击一回合,就是自己打两回合" << endl;
										cout << "2.命悬一线    当血量少于50时,恢复到100点,并且增加10点伤害" << endl;
										sleep(5);
										clear();
									} 
									return ; 
								}
								else{
									clear();
									cout << "恭喜你获得神话角色江老师"<<endl; 
									jls = 1;
									int jans;	// 买了任熠晨
									cout<<"是否查看江老师的技能(是1  否2)" <<endl; 
									cin>>jans;
									if(jans == 1){
										clear();
										cout << "你抽到的英雄名为江老师" << endl << "他的技能为" << endl;
										sleep(1);
										cout << "1.10年交情      召唤宋老师,一起对敌方造成40点伤害" << endl;
										cout << "2.教写程序      教敌方写程序,对敌方造成30点伤害,且增加自己50%的血量 " << endl;
										sleep(5);
										clear();
									} 
									return ;	
									}
								}
							else{
								clear();
								cout << "恭喜你抽到一千金币"; 
								
								gold += 1000;
								sleep(2);
								return ;
							}
						
						}
						else if(shishi == 1){
							if(suiji % 5 == 1 || suiji % 5 == 2||suiji % 5 == 0){
								if(suiji % 2 == 0){
									clear();
									cout << "恭喜你获得史诗角色曹圣云"<<endl;
									csy = 1;
									int pans;	// 买了csy
									cout<<"是否查看曹圣云的技能(是1  否2)" <<endl; 
									cin>>pans;
									if(pans == 1){
										clear();
										cout << "你抽到的英雄名为曹圣云" << endl << "他的技能为" << endl;
										sleep(1);
										cout << "1.老干妈浇灌     将老干妈倒到对手头上,每回合对对方造成30点伤害" << endl;
										cout << "2.拌饭老干妈     吃掉老干妈,将血量增加50" << endl;
										sleep(5);
										clear();
									}		// 买了曹圣云
									return ;
								}
								else{
									clear(); 
									cout << "恭喜你获得史诗角色任熠晨"<<endl;
									ryc = 1;
									int rans;	// 买了任熠晨
									cout<<"是否查看任熠晨的技能(是1  否2)" <<endl; 
									cin>>rans;
									if(rans == 1){
										clear();
										cout << "你抽到的英雄名为任熠晨" << endl << "他的技能为" << endl;
										sleep(1);
										cout << "1.'6'       恢复20点血并对对手造成15伤" << endl;
										cout << "2.'任'真状态     伤害增加15点,并且可以回血30点(一回合)" << endl;
										sleep(5);
										clear();
									} 
									return ;	
									}
								}
							else{
								cout << "恭喜你抽到五百金币"; 
								gold += 500; 
								sleep(2);
								return ;
							}
						
						}
						else{
							cout << "恭喜你抽到了一百金币"; 
							gold+=100;
							sleep(2);
							return ;
						}	
					}
				}
			} 
			 
		}
		else{
			return ;
		}
	}
	
}
void store() {
	clear();
	cout << "欢迎来到商城" << endl;
	cout << "您现在有" << gold << "个金币";
	cout << endl << endl << endl;
	cout << "1.AC惊喜 <200>";
	cout << endl << endl << endl; 
	cout << "2.任耀辰 <1000>";
	cout << endl << endl << endl;
	cout << "3.曹圣云 <15000>" << endl << endl<<endl;
	cout << "输入数字购买,5离开";
	
	int id;
	while (cin >> id) {
		switch(id) {
			case 1:
				if(gold < 200){
					cout << "你没钱"<<endl;
					sleep(2);
					break;
				} 
				jingxi++;
				cout<<"您现在只剩"<<gold - 200<<"个金币啦"<<endl<<endl; 
				gold -= 200;
				
				sleep(1); 
				break;
			case 2:
				if(gold < 1000){
					cout << "你没钱"<<endl;
					sleep(2);
					break;
				} 
				ryc = 1;
				int mans;	// 买了任熠晨
				cout<<"购买成功,是否查看任熠晨的技能(是1  否2)" <<endl; 
				cin>>mans;
				if(mans == 1){
					clear();
					cout << "你购买的英雄名为任熠晨" << endl << "他的技能为" << endl;
					sleep(1);
					cout << "1.'6'       恢复20点血并对对手造成15伤" << endl;
					cout << "2.'任'真状态     伤害增加15点,并且可以回血30点(一回合)" << endl;
					sleep(5);
					clear();
					cout << "欢迎来到商城" << endl;
					cout << "您现在有" << gold -1000<< "个金币";
					gold-=1000;
					cout << endl << endl << endl;
					cout << "1.AC惊喜 <200>";
					cout << endl << endl << endl; 
					cout << "2.任耀辰 <1000>";
					cout << endl << endl << endl;
					cout << "3.曹圣云 <15000>" << endl << endl<<endl;
					cout << "输入数字购买,5离开";
					
					break;
				}
				
				cout<<"您现在只剩"<<gold - 1000<<"个金币啦"<<endl<<endl; 
				gold -= 1000;
				
				sleep(1); 
				break;
			case 3:
				if(gold < 15000){
					cout << "你没钱"<<endl;
					sleep(2);
					break;
				} 
				csy = 1;
				int dans;	// 买了csy
				cout<<"购买成功,是否查看曹圣云的技能(是1  否2)" <<endl; 
				cin>>dans;
				if(dans == 1){
					clear();
					cout << "你购买的英雄名为曹圣云" << endl << "他的技能为" << endl;
					sleep(1);
					cout << "1.老干妈浇灌     将老干妈倒到对手头上,每回合对对方造成30点伤害" << endl;
					cout << "2.拌饭老干妈     吃掉老干妈,将血量增加50" << endl;
					sleep(5);
					clear();
					cout << "欢迎来到商城" << endl;
					cout << "您现在有" << gold -15000<< "个金币";
					gold-=15000;
					cout << endl << endl << endl;
					cout << "1.AC惊喜 <200>";
					cout << endl << endl << endl; 
					cout << "2.任耀辰 <1000>";
					cout << endl << endl << endl;
					cout << "3.曹圣云 <15000>" << endl << endl<<endl;
					cout << "输入数字购买,5离开";
					
					break;
				}		// 买了曹圣云
				cout<<"您现在只剩"<<gold - 15000<<"个金币啦"<<endl<<endl;
				gold -= 15000;
				
				sleep(1); 
				break;
				
			case 5:
				clear();
				return ;
		}
		
		cout << "输入购买的商品数字: "; 
	}
}
void mode() {
	while (true) {
		cout<<"现在,请选择一个模式吧!!"<<endl;
		cout<<"1.匹配"<<"     "<<"2.抽奖"<<"     "<<"3.商城"<<endl;
		int mselect;
		cin >> mselect;
		
		switch (mselect) {
			case 1 :
				pipei(); 
				break;
				
			case 2 :
				choujiang();
				break;
			
			case 3 :
				store();
				break;
		} 
		clear();
	}
	
}
int main() {
	srand(time(0));			// 以时间为种子
	
	
	 
	cout<<"欢迎来到AC乱斗";
	cout<<endl;
	cout<<"请选择您的英雄!!"<<endl;
	cout<<"1.黄子冠"<<"      "<<"2.陈奕铭"<<endl;
	
	
	
	while (cin >> ans) {
		if (ans == 1 || ans == 2) break;
		cout << "没有英雄, 请重新选择: ";
	}
	clear();
	cout<<"选择成功"<<endl;
	
	viewFunction();
	mode();
	return 0;
}
这里空空如也











有帮助,赞一个