#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int HELPx=1,pagex=0;
long double timexs=10,timez=0;
int acr[10000][15],act=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;
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();
}
}