自制C++小游戏,规则全靠自己造(当前仅支持PVP)

#include<bits/stdc++.h>
#include<conio.h>
#include<unistd.h>
#include<windows.h>
using namespace std;
int sjs(int xx,int sx)
{
	srand(time(0));
	return rand()%(sx-xx+1)+xx;
}
int main(){
    srand(time(0));
    int jhpd=0,jhpdj=0;
	cout<<"Loading……\n";
	cout<<"anything is possible\n";
	int yj=rand()%5;
	if(yj==1)
	cout<<"Tip:即使逆风也无需灰心,你总有机会翻盘获胜,一切事情皆是如此\n";
	else if(yj==2)
	cout<<"Tip:干!干!干!勇往直前!无需畏惧!\n";
	else if(yj==3)
	cout<<"Tip:千万不要提前认输,皇马在最后两分钟进了曼城两球扳平比分\n";
	else if(yj==4)
	cout<<"Tip:游戏是虚拟的,更多时间要放在线下的学习与努力\n"; 
	else if(yj==0)
	cout<<"Tip:从你出生的那一刻,你就注定成为赢家!\n"; 
	Sleep(8000);
	system("cls");
	cout<<endl<<endl<<endl<<endl<<"\n\n\n\n";
	cout<<"                             CEG   WAR  GAMES"<<endl;
	cout<<"                                  战争风云   24" <<endl; 
	cout<<"                        作者Q:230991925        欢迎进行BUG反馈!"<<endl;
	cout<<"——————————————————按R键获取说明,其他开始新 游戏……\n";
	int csgo;
	csgo=getch(); 
	if(csgo=='R')
	{
		system("cls");
		cout<<"保护你的人民,一旦人民全部被歼灭,你的游戏就会失败!"; 
		cout<<"\n你需要提升你的等级,战斗力等于兵力*等级,制造所获得的货币也等于人口(不含兵力)*等级\n";
		cout<<"每个人民每回合会花费1货币,包括士兵,当你主动进攻,会花费兵力*10的军费,被进攻也会花费兵力*8的军费"; 
		cout<<"\n如果回合结束你的货币不足以为人民和士兵提供每人1货币,将爆发饥荒,每回合将有10%的人民被饿死,直至货币足够回合\n";
		cout<<"制造是必须的!如果你没有足够的货币,你的失败将被注定!\n";
		cout<<"如果兵力为0,不要乱点进攻,虽然不扣军费,但是惩罚会扣除你的人口!\n";
		cout<<"提升等级和增加人口!让你的货币足够用!\n";
		cout<<"如有问题,可通过QQ私信作者(230991925),洛谷Oliver_Kahn(博客同名)\n";
		Sleep(5000);
		cout<<"按任意键开始新游戏……\n";
		int cs2;
		cs2=getch();
	} 
long long bl=10,rm=100,hb=10000,zdl=10,zb=1;
	long long blj=10,rmj=100,hbj=10000,zdlj=10,zbj=1;
	system("color f1"); 
	system("cls");
	while(rm!=0&&rmj!=0)
	{
		if(hb<0)
		hb==0;
		system("cls"); 
		cout<<"战斗力更新:当前玩家总人口"<<rm<<"人,兵力"<<bl<<",货币"<<hb<<",等级"<<zb<<",战斗力"<<bl*zb<<endl;
		zdl=bl*zb;
		zdlj=bl*zb;
		int pd;
		cout<<"输入1可增加人口,输入2扩军(10%人口),输入3攻击对手,输入4提升等级(每次花费(等级-1)*100000货币),输入5进行制造(人口*(等级+1)=获得货币)\n输入6侦察对手随机一项,概率侦察失败损失15士兵,输入7则认输\n";
		cin>>pd;
		if(pd==1)
{
           rm+=sjs(100,500); 
			cout<<"当前人口"<<rm<<endl;
					}
					else if(pd==2)
					{
						int zcd=rm/10;
						rm-=zcd;
						bl+=zcd;
						cout<<"扩军成功,当前兵力"<<bl<<endl;
					}
					else if(pd==3)
					{
						if(hb<bl*10)
						{
							cout<<"你没有足够的军费支持此次军事行动!\n";
						}
						else{
					   long long xhhb=bl*10,xhhbj=bl*6;
					   long long swb =rand()%((blj+2)/2+1)+1,swbj = rand()%((bl+2)/2+1)+1;
					   long long swrm =rand()%((blj+2)/2+1)+1,swrmj = rand()%((bl+2)/2+1)+1;
		               if(xhhb>hb)
		               xhhb=hb;
		               if(xhhbj>hbj)
		               xhhbj=hbj;
		               if(swb>bl)
		               swb=bl;
		               if(swbj>blj)
		               swbj=blj;
		               if(swrm>rm) 
		               swrm=rm;
					   if(swrmj>rmj)
					   swrmj=rmj; 
					   hb-=xhhb;
					   hbj-=xhhbj;
					   bl-=swb;
					   blj-=swbj;
					   rm-=swrm;
					   rmj-=swrmj;
					   cout<<"战争结束,民不聊生!玩家消耗了军费"<<xhhb<<"还剩"<<hb<<"元,损失士兵"<<swb<<",损失平民"<<swrm<<"人\n"; 
				}
					}
					else if(pd==4)
					{
						if(hb<(zb-1)*100000)
						cout<<"你没有足够的货币升级等级!"<<endl;
						else{
						
						zb++;
						if(zb>20)
						{
							zb=20;
							cout<<"等级上限!\n";
						} 
						else 
						cout<<"等级提升成功!\n";
					}
					}
					else if(pd==5)
					{
						cout<<"制造完成,获得货币"<<rm*(zb+1)<<endl;
						hb+=rm*(zb+1);
					}
					else if(pd==6)
					{
						if(bl>15)
						{
							int zcpd=rand()%10;
							if(zcpd==0)
							{
							cout<<"侦察失败!损失15士兵!";
							bl-=15;
						}
						else {
							int zcxm=rand()%5;
							if(zcxm==0)
							cout<<"对手兵力:"<<blj<<endl; 
							else if(zcxm==1)
							cout<<"对手人口:"<<rmj<<endl; 
							else if(zcxm==2)
							cout<<"对手等级:"<<zbj<<endl; 
							else if(zcxm==3)
							cout<<"对手货币:"<<hbj<<endl;
							else if(zcxm==4)
							cout<<"对手战斗力"<<zdlj<<endl; 
						}
						}
						else cout<<"军队数量太少!请达到15及15以上兵力再进行侦察!\n";
					}
					if(pd==7)
					{
						cout<<"你失败了!";
						return 0;
					}
					
					if(hb>=rm+bl)
					{
						cout<<"回合结束!你需要花费"<<rm+bl<<"元\n";
						hb-=rm+bl; 
						jhpd=0;
					}
					else {
						cout<<"货币不足!闹饥荒了!\n"; 
						jhpd=1;
					}
					if(rmj==0)
					{
						Sleep(2000);
						system("cls");
						cout<<"YOU WIN!"; 
						Sleep(10000);
						system("cls");
						cout<<"珍惜和平!反对战争!";
						return 0;
					}
					else if(rm==0)
					{
						Sleep(2000);
						system("cls");
						cout<<"YOU LOSE!";
						Sleep(10000);
						system("cls");
						cout<<"珍惜和平!反对战争!";
						return 0;
					}					
					if(jhpd==1)
					{
					cout<<"本回合饿死了人民"<<rm/10<<endl; 
					rm-=rm/10;
				}
				cout<<"按任意键继续\n";
		int cs22;
		cs22=getch();
				system("cls"); 
					if(hb<0)
		hb==0;
		system("cls"); 
		cout<<"战斗力更新:当前玩家2总人口"<<rmj<<"人,兵力"<<blj<<",货币"<<hbj<<",等级"<<zbj<<",战斗力"<<blj*zbj<<endl;
		zdl=bl*zb;
		zdlj=bl*zb;
		int pd1;
		cout<<"输入1可增加人口,输入2扩军(10%人口),输入3攻击对手,输入4提升等级(每次花费(等级-1)*100000货币),输入5进行制造(人口*(等级+1)=获得货币)\n输入6侦察对手随机一项,概率侦察失败损失15士兵,输入7则认输\n";
		cin>>pd1;
		if(pd1==1)
{
           rmj+=sjs(100,500); 
			cout<<"当前人口"<<rmj<<endl;
					}
					else if(pd1==2)
					{
						int zcd=rmj/10;
						rmj-=zcd;
						blj+=zcd;
						cout<<"扩军成功,当前兵力"<<blj<<endl;
					}
					else if(pd1==3)
					{
						if(hbj<blj*10)
						{
							cout<<"你没有足够的军费支持此次军事行动!\n";
						}
						else{
					   long long xhhbj=bl*10,xhhb=bl*6;
					   long long swb =rand()%((blj+2)/2+1)+1,swbj = rand()%((bl+2)/2+1)+1;
					   long long swr =rand()%((blj+2)/2+1)+1,swrmj = rand()%((bl+2)/2+1)+1;
		               if(xhhb>hb)
		               xhhb=hb;
		               if(xhhbj>hbj)
		               xhhbj=hbj;
		               if(swb>bl)
		               swb=bl;
		               if(swbj>blj)
		               swbj=blj;
		               if(swr>rm) 
		               swr=rm;
					   if(swrmj>rmj)
					   swrmj=rmj; 
					   hb-=xhhb;
					   hbj-=xhhbj;
					   bl-=swb;
					   blj-=swbj;
					   rm-=swr;
					   rmj-=swrmj;
					   cout<<"战争结束,民不聊生!玩家2消耗了军费"<<xhhbj<<"还剩"<<hbj<<"元,损失士兵"<<swbj<<",损失平民"<<swrmj<<"人\n"; 
				}
					}
					else if(pd1==4)
					{
						if(hbj<(zbj-1)*100000)
						cout<<"你没有足够的货币升级等级!"<<endl;
						else{
						
						zbj++;
						if(zbj>20)
						{
							zbj=20;
							cout<<"等级上限!\n";
						} 
						else 
						cout<<"等级提升成功!\n";
					}
					}
					else if(pd1==5)
					{
						cout<<"制造完成,获得货币"<<rmj*(zbj+1)<<endl;
						hbj+=rmj*(zbj+1);
					}
					else if(pd1==6)
					{
						if(blj>15)
						{
							int zcpd=rand()%10;
							if(zcpd==0)
							{
							cout<<"侦察失败!损失15士兵!";
							blj-=15;
						}
						else {
							int zcxm=rand()%5;
							if(zcxm==0)
							cout<<"对手兵力:"<<bl<<endl; 
							else if(zcxm==1)
							cout<<"对手人口:"<<rm<<endl; 
							else if(zcxm==2)
							cout<<"对手等级:"<<zb<<endl; 
							else if(zcxm==3)
							cout<<"对手货币:"<<hb<<endl;
							else if(zcxm==4)
							cout<<"对手战斗力"<<zdl<<endl; 
						}
						}
						else cout<<"军队数量太少!请达到15及15以上兵力再进行侦察!\n";
					}
					if(pd1==7)
					{
						cout<<"你失败了!";
						return 0;
					}
					
					if(hbj>=rmj+blj)
					{
						cout<<"回合结束!你需要花费"<<rmj+blj<<"元\n";
						hbj-=rmj+blj; 
						jhpdj=0;
					}
					else {
						cout<<"货币不足!闹饥荒了!\n"; 
						jhpdj=1;
					}
					if(rm==0)
					{
						Sleep(2000);
						system("cls");
						cout<<"YOU WIN!"; 
						Sleep(10000);
						system("cls");
						cout<<"珍惜和平!反对战争!";
						return 0;
					}
					else if(rmj==0)
					{
						Sleep(2000);
						system("cls");
						cout<<"YOU LOSE!";
						Sleep(10000);
						system("cls");
						cout<<"珍惜和平!反对战争!";
						return 0;
					}					
					if(jhpdj==1)
					{
					cout<<"本回合饿死了人民"<<rmj/10<<endl; 
					rmj-=rmj/10;
				}
					cout<<"按下任意键进入下一回合";
					char f;
					f=getch();
					if(hb<0)
		hb==0;
	}
	system("pause");
	return 0;
}

最后祝大家七夕快乐,反正我不配(雾)(悲)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值