C++小游戏:反物质维度(V0.0.0)
  • 板块灌水区
  • 楼主zhangzixuan1228
  • 当前回复15
  • 已保存回复15
  • 发布时间2024/10/19 09:28
  • 上次更新2024/10/19 09:59:08
查看原帖
C++小游戏:反物质维度(V0.0.0)
1382351
zhangzixuan1228楼主2024/10/19 09:28
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
//总体 
int HELPx=1,pagex=0;
long double timexs=10,timez=0;
//t1:成就 
int acr[10000][15],act=0;
//0:普通 
long double am=10,ad[12],adt[12],adxtti[12]={0,1,1,1,1,1,1,1,1},adxti[12]={0,1,1,1,1,1,1,1,1},adx[12]={0,1,1,1,1,1,1,1,1},adxx=2.0,adcti[12]={0,10,100,1e4,1e7,1e11,1e17,1e24,1e31},adc[12]={0,10,100,1e4,1e7,1e11,1e17,1e24,1e31},adcuti[12]={0,1e3,1e4,1e5,1e6,1e8,1e10,1e12,1e15},adcu[12]={0,1e3,1e4,1e5,1e6,1e8,1e10,1e12,1e15};
long double tick=0,tickx=1,tickxx=1.135,tickc=1e3,tickcx=10;
long double db=0,dbc=20,dbh=15,dbd=4,dbx=2.0;
long double gl=0,glc=80,glh=55;
long double ss=1,ssz=1,sst=1;
//1:升级 
void tcout(){
	system("cls");
	cout<<"你有 "<<am<<" 反物质"<<endl;
	cout<<"你有 "<<tick<<" 个Tick升级,每个提升所有维度 "<<tickxx<<" x,总计提升 "<<tickx<<" x,价格为 "<<tickc<<" 反物质"<<endl;
	cout<<"牺牲提升AD8 "<<ss<<" x"<<endl;
	for(int i=1;i<=8;i++){
		cout<<"AD"<<i<<" x"<<adx[i]<<"  "<<ad[i]<<"  (实际购买: "<<adt[i]<<" 个) "<<"买10个,需要 "<<adc[i]<<" 反物质"<<endl;
	}
	cout<<"你有 "<<db<<" 维度提升,下一个在 "<<dbc<<" AD"<<dbd<<endl;
	cout<<"你有 "<<gl<<" 反物质星系,下一个在 "<<glc<<" AD8"<<endl;
}
void HELP(){
	system("cls");
	HELPx=1;
	while(HELPx){
		cout<<"你要查看哪个部分? 1a=普通 1b=维度提升 1c=维度牺牲 1d=反物质星系 0=退出"<<endl;
		string px;
		cin>>px;
		if(px=="0"){
			HELPx=0;
			system("cls");
			return;
		} 
		if(px=="1a"){
			cout<<"反物质维度的目标是生产反物质(AM)"<<endl;
			cout<<"反物质维度1(AD1,ADx也是一样的)生产反物质,其他AD生产上一个AD,一共有8个"<<endl;
			cout<<"AD需要花费反物质购买,一次10个"<<endl;
			cout<<"每次购买后,价格大幅增加,但乘数*2(可提升),维度的生产就是数量*乘数"<<endl;
			cout<<"Tick:提升所有反物质维度x1.135(可提升)"<<endl;
		}
		if(px=="1b"){
			cout<<"维度提升(DB)重置所有先前的东西,提升所有ADx2(可提升)"<<endl;
			cout<<"前5次成本是20个AD4/5/6/7/8,之后保持在AD8,但成本提高(初始是15,可降低)"<<endl;
		}
		if(px=="1c"){
			cout<<"维度牺牲(S)清零AD1~7但基于牺牲时的反物质(ADOom^0.5,可提升)提升AD8"<<endl;
			cout<<"维度牺牲会在提升时重置"<<endl;
		}
		if(px=="1d"){
			cout<<"反物质星系(GL)重置所有先前的东西(包括维度提升),但提升Tick效果+0.0225"<<endl;
			cout<<"成本从80AD8开始,每次提高55(可降低)"<<endl;
		}
	}
}
void cyjn(){
	act=0;
	if(ad[1]>=1) acr[1][1]=1;
	if(ad[2]>=1) acr[1][2]=1;
	if(ad[3]>=1) acr[1][3]=1;
	if(ad[4]>=1) acr[1][4]=1;
	if(ad[5]>=1) acr[1][5]=1;
	if(ad[6]>=1) acr[1][6]=1;
	if(ad[7]>=1) acr[1][7]=1;
	if(ad[8]>=1) acr[1][8]=1;
	if(adt[1]>=1 && adt[2]==0 && adt[3]>=1) acr[2][1]=1;
	if(db>=1) acr[2][2]=1;
	if(db>=4) acr[2][3]=1;
	if(am>=1e100) acr[2][4]=1;
	if(adt[1]>=1 && adt[2]==0 && adt[3]==0 && adt[4]>=1) acr[2][5]=1;
	if(gl>=1) acr[2][6]=1;
	if(gl>=2) acr[2][7]=1;
	if(am>=1.33e154) acr[2][8]=1;
	if(ss>=1.1) acr[3][1]=1;
	if(db>=10) acr[3][2]=1;
	if(adt[1]>=1 && adt[2]==0 && adt[3]==0 && adt[4]==0 && adt[5]>=1) acr[3][3]=1;
	if(gl>=3) acr[3][4]=1;
	if(am>=1.54e231) acr[3][5]=1;
	if(adt[2]==0 && adt[4]==0 && adt[6]==0 && adt[8]>0) acr[3][6]=1;
	if(tick>=200) acr[3][7]=1;
	if(ad[7]<ad[8]) acr[3][8]=1;
	for(int i=1;i<=999;i++){
		for(int j=1;j<=8;j++){
			act++;
		}
	}
}
void acout(){
	system("cls");
	cout<<"你完成了 "<<act<<" 个成就"<<endl;
	for(int i=1;i<=3;i++){
		for(int j=1;j<=8;j++){
			if(i==1 && j==1) cout<<"11 万物的开始 购买一个AD1 ";
			if(i==1 && j==2) cout<<"12 这好快呀 购买一个AD2 ";
			if(i==1 && j==3) cout<<"13 要不再来一次? 购买一个AD3 ";
			if(i==1 && j==4) cout<<"14 为什么如此快?!? 购买一个AD4 ";
			if(i==1 && j==5) cout<<"15 你居然没有提升? 购买一个AD5 ";
			if(i==1 && j==6) cout<<"16 666/666/666 购买一个AD6 ";
			if(i==1 && j==7) cout<<"17 你很幸运! 购买一个AD7 ";
			if(i==1 && j==8) cout<<"18 最后一个了 购买一个AD8 ";
			if(i==2 && j==1) cout<<"21 跳跃↑ 没有2D时购买3D ";
			if(i==2 && j==2) cout<<"22 提升如此之强? 提升1次 ";
			if(i==2 && j==3) cout<<"23 4次!!! 提升4次 ";
			if(i==2 && j==4) cout<<"24 一古戈尔 达到1e100AM ";
			if(i==2 && j==5) cout<<"25 Super跳跃↑ 没有2D/3D时购买4D ";
			if(i==2 && j==6) cout<<"26 宇宙出现了星系! 购买1个GL ";
			if(i==2 && j==7) cout<<"27 另一个星系 购买2个GL ";
			if(i==2 && j==8) cout<<"28 无限的一半 达到1.33e154AM ";
			if(i==3 && j==1) cout<<"31 牺牲是必须的! 牺牲一次 ";
			if(i==3 && j==2) cout<<"32 提升x...... 提升10次 ";
			if(i==3 && j==3) cout<<"33 Mara跳跃↑ 没有2D/3D/4D时购买5D ";
			if(i==3 && j==4) cout<<"34 这个星系真的需要吗? 购买3个GL ";
			if(i==3 && j==5) cout<<"35 3/4无限::: 达到1.54e231AM ";
			if(i==3 && j==6) cout<<"36 天下无双 没有2/4/6D时购买8D ";
			if(i==3 && j==7) cout<<"37 200次时间? 购买200个Tick";
			if(i==3 && j==8) cout<<"38 乱七八糟 7D数量<8D数量(不保证能完成) ";
			if(acr[i][j]==1) cout<<"已完成"<<endl;
			if(acr[i][j]==0) cout<<"未完成"<<endl;
		}
	}
}
void timex(int times){
	for(int it=1;it<=times;it++){
		am+=ad[1]*adx[1];
		for(int i=2;i<=8;i++){
			ad[i-1]+=ad[i]*adx[i];
		}
	}
	timez+=times;
}
void buyad_nc(int adp){
	while(am>=adc[adp]){
		if(am>=adc[adp]){
			ad[adp]+=10;
			adt[adp]+=10;
			adx[adp]*=adxx;
			am-=adc[adp];
			adc[adp]*=adcu[adp];
		}
	}
}
void buyadx(int adp){
	while(am>=adc[adp]){
		if(am>=adc[adp]){
			ad[adp]+=10;
			adt[adp]+=10;
			adx[adp]*=adxx;
			am-=adc[adp];
			adc[adp]*=adcu[adp];
		}
	}
	tcout();
}
void buytick(){
	while(am>=tickc){
		am-=tickc;
		if(am>=tickc){
			tick++;
			tickc*=tickcx;
			tickx*=tickxx;
		}
		for(int i=1;i<=8;i++){
			adx[i]*=tickxx;
		} 
	}
	tcout();
}
void buydb(){
	if(adt[int(dbd)]>=dbc){
		db++;
		if(db<=4){
			dbd++;
		}
		if(db>=5){
			dbc+=dbh;
		}
		for(int i=1;i<=8;i++){
			ad[i]=0;
			adt[i]=0;
			adxti[i]*=dbx;
			adx[i]=adxti[i];
			adc[i]=adcti[i];
			adcu[i]=adcuti[i];
			tick=0;
			tickx=1;
			tickc=1e3;
			am=10;
		}
		ss=1;
		ssz=1;
		sst=1;
	} 
	tcout();
}
void buygl(){
	if(adt[8]>=glc){
		adt[8]=0;
		gl++;
		glc+=glh;
		tickxx+=0.0225;
		for(int i=1;i<=8;i++){
			ad[i]=0;
			adt[i]=0;
			adx[i]=adxtti[i];
			adxti[i]=adxtti[i];
			adc[i]=adcti[i];
			adcu[i]=adcuti[i];
			tick=0;
			tickx=1;
			tickc=1e3;
			am=10;
		} 
		db=0;
		dbc=20;
		dbh=15;
		dbd=4; 
		ss=1;
		ssz=1;
		sst=1;
	}
	tcout();
}
void sytime(){
	ssz=log10(am*am);
	if(ssz>=ss){
		sst=ss;
		ss=ssz;
		for(int i=1;i<=7;i++) ad[i]=0;
		adx[8]*=(ss/sst);
	}
}
void p_t1(){
	cyjn();
	while(1){
		acout();
		cout<<"进入其他页面:GP/Gp/gP/gp"<<endl;
		string axxx;
		cin>>axxx;
		if(axxx=="GP" || axxx=="Gp" || axxx=="gP" || axxx=="gp"){
			cout<<"进入哪个页面? 0=普通"<<endl;
			string xyzj;
			cin>>xyzj;
			if(xyzj=="0"){
				tcout();
				pagex=0;
				return;
			} 
		}
	}
}
void p_0(){
	cyjn();
	cout<<"要执行什么操作? 时间流逝"<<timexs<<"s:T/t,购买AD1~8:B1~8/b1~8,购买Tick:Ti/ti/TI/tI,购买AD1~8+Tick:M/m,购买DB:D/d,购买GL:G/g,牺牲:S/s导出存档:C/c(未开放!),导入存档:SS/ss/Ss/sS(未开放!),查看指南:HELP(大小写敏感!),进入其他页面:GP/Gp/gP/gp"<<endl;
	string axxx;
	cin>>axxx;
	if(axxx=="HELP"){
		HELP();
		tcout();
		cout<<"要执行什么操作? 时间流逝"<<timexs<<"s:T/t,购买AD1~8:B1~8/b1~8,购买Tick:Ti/ti/TI/tI,购买AD1~8+Tick:M/m,购买DB:D/d,购买GL:G/g,牺牲:S/s导出存档:C/c(未开放!),导入存档:SS/ss/Ss/sS(未开放!),查看指南:HELP(大小写敏感!),进入其他页面:GP/Gp/gP/gp"<<endl;
		cin>>axxx;
	} 
	if(axxx=="T" || axxx=="t"){
		timex(timexs);
		tcout();
	}
	if(axxx=="B1" || axxx=="b1") buyadx(1);
	if(axxx=="B2" || axxx=="b2") buyadx(2);
	if(axxx=="B3" || axxx=="b3") buyadx(3);
	if(axxx=="B4" || axxx=="b4") buyadx(4);
	if(axxx=="B5" || axxx=="b5") buyadx(5);
	if(axxx=="B6" || axxx=="b6") buyadx(6);
	if(axxx=="B7" || axxx=="b7") buyadx(7);
	if(axxx=="B8" || axxx=="b8") buyadx(8);
	if(axxx=="Ti" || axxx=="ti" || axxx=="TI" || axxx=="tI") buytick();
	if(axxx=="M" || axxx=="m"){
		buyad_nc(1);
		buyad_nc(2);
		buyad_nc(3);
		buyad_nc(4);
		buyad_nc(5);
		buyad_nc(6);
		buyad_nc(7);
		buyad_nc(8);
		buytick();
	}
	if(axxx=="D" || axxx=="d") buydb();
	if(axxx=="G" || axxx=="g") buygl();
	if(axxx=="S" || axxx=="s") sytime();
	if(axxx=="GP" || axxx=="Gp" || axxx=="gP" || axxx=="gp"){
		cout<<"进入哪个页面? t1=成就"<<endl;
		string xyzj;
		cin>>xyzj;
		if(xyzj=="t1"){
			pagex=-1;
		} 
	}
}
int main(){
	cout<<"欢迎来到ADV0.0.0!目前残局:1.79e308AM"<<endl;
	cout<<"开始:G/g(大多数指令大小写不敏感),存档导入:S/s(未开放!),新手指南:HELP(大小写敏感!)(新手必看!!!)"<<endl;
	while(1){
		string axxx;
		cin>>axxx;
		if(axxx=="G" || axxx=="g") break;
		if(axxx=="HELP"){
			HELP();
			cout<<"开始:G/g(大多数指令大小写不敏感),存档导入:S/s(未开放!),新手指南:HELP(大小写敏感!)(新手必看!!!)"<<endl;
			cin>>axxx;
		}
	}
	tcout();
	while(1){
		if(am>=1.79e308){
			cout<<"你已经到达残局.即将推出:无限!"<<endl;
			cout<<"你花费了"<<timez<<"秒"<<endl;
			return 0;
		}
		if(pagex==0) p_0();
		if(pagex==-1) p_t1();
	}
}
2024/10/19 09:28
加载中...