- tuxingzhe2024's blog
CAT CIVILIZATION BUILDER
- 2024-12-13 10:20:33 @
3/7 已经完善工坊升级
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<ctime>
#include<stdio.h>
#include<time.h>
using namespace std;
#define int long long
string RED="\033[31m";
string RESET="\033[30m";
string GREEN="\033[32m";
string GOLD="\033[33m";
string PURPLE="\033[35m";
string BLUE="\033[36m";
string GREY="\033[38;5;241m";
string ORANGE="\033[38;5;202m";
string CYAN="\033[38;5;42m";
string BROWN="\033[38;5;52m";
string DARK_GREY="\033[38;5;237m";
string BROWN2="\033[38;5;124m";
string LIGHT_GREY="\033[38;5;247m";
string YELLOW="\033[38;5;208m";
string LIGHT_BLUE="\033[38;5;75m";
string GUHONG="\033[38;5;196m";
string LIGHT_YELLOW="\033[38;5;100m";
string BROWN3="\033[38;5;88m";
string PURPINK="\033[38;5;199m";
const int mod=1e9+7;
inline void slowout(string s,int x) {
for(int i=0;i<(int)s.size();i++) {Sleep(x);cout<<s[i];}
}
inline void jieshao() {
slowout("不要改代码!!!后果自负\n",5);
slowout("在这个文字放置游戏中,你会建造一个属于自己的文明\n",5);
slowout("你的人民是小猫,他们每秒都需要4个猫薄荷\n",5);
slowout("食物在前期十分紧缺,建议每人对应7个猫薄荷田\n",5);
slowout("寒冬非常可怕,它会夺走你90%的食物产出\n",5);
slowout("科学特别重要,工坊看似无用,后期特别厉害\n",5);
slowout("建议在第一年秋天前解锁农业\n",5);
slowout("资源都有上限,会溢出,禁止挂机\n",10);
cout<<RED;
slowout("所需资源超过上限的建筑会呈红色\n",5);
cout<<GREY;
slowout("所需资源尚未达到的建筑会呈灰色\n",5);
cout<<RESET;
slowout("人口过多会影响幸福度,请慎重,后期有了剧场再考虑\n",15);
slowout("怎么办,是不是感觉好难?别担心,前五年已经把你们产量提高了15%(不可能有人5年还发展不出农业吧)\n",30);
slowout("熔炉特别有用,不要看见负数就不想开,你们会吃亏的\n",5);
system("pause");
system("cls");
return ;
}
struct node{
double price;
int u;
};
struct drg{
string s,c;
bool f;
int r=1,t;
double p=1.15;
node y[5];
};
struct DRG{
string s;
bool f;
double t;
double v=0;
double lmt;
};
struct scs{
string s,c;
int f;
double price,manuscript,summary,blueprint;
};
struct up{
string s;
int f,r=1;
node y[5];
};
struct gf{
string s,c;
bool f;
double t;
int r=1;
node y[5];
};
struct zy{
string s;
bool f;
int t;
};
struct Page{
string s;
bool f;
};
struct zj{
string s,c;
int t,f,g;
double price,gold,pt;
};
struct Exchange{
string s;
bool f,g;
int w[4];
node sold,buy;
double House,Friendly;
};
drg a[55];
DRG b[1055];
scs c[125];
up d[105];
gf e[25];
zy g[15];
Page page[15];
zj I[20];
Exchange GZC[8];
int Psw[6]={4,18,1,7,15,14};
double fur,ivory,unicorn;
int r,sky,rock,skysc,skymn,co,u,year,upp,wd=100,scc,ct=400;
double fishh,woodd,eff=1,ty_add;
int hunnt,pg=1;
vector<int>h[1005];
int DRAGON;
inline int Hash(int x,int y) {
x=x*787349%mod+y;
return x%mod;
}
inline string fuhao(double x) {
if(x>0)return " +";
if(x<0) return " -";
return " ";
}
double zyc;
string season;
int rl,hunt,bb;
double happy=1;
bool kfz=0;
inline bool ironn() {
return b[2].t>0.5*rl&&b[5].t>0.2*rl;
}
inline int __up(int x) {
for(int j=1;j<=d[x].r;j++) {
if(d[x].y[j].price>b[d[x].y[j].u].lmt) return 2;
if(d[x].y[j].price>b[d[x].y[j].u].t) return 0;
}
return 1;
}
inline void cl(int i) {
bool red=0,canbuy=1;
for(int j=1;j<=a[i].r;j++) {
if(b[a[i].y[j].u].t<a[i].y[j].price) {
canbuy=0;
}
if(a[i].y[j].u<=500&&a[i].y[j].price>b[a[i].y[j].u].lmt)red=1;
}
if(red) cout<<RED<<a[i].s<<RESET;
else if(!canbuy)cout<<GREY<<a[i].s<<RESET;
else cout<<a[i].s;
}
inline void RES() {
for(int i=1;i<=1000;i++) b[i].s=b[i].s+string(RESET);
}
inline bool Read() {
ifstream in("dragon.ini");
in>>year>>season>>zyc>>happy>>co>>ty_add;
int check=0;
for(int i=1;i<=54;i++) in>>a[i].f>>a[i].t;
for(int i=1;i<=1054;i++) in>>b[i].f>>b[i].t>>b[i].lmt;
for(int i=1;i<=124;i++) in>>c[i].f;
for(int i=1;i<=100;i++) in>>d[i].f;
for(int i=1;i<=24;i++) in>>e[i].f>>e[i].t;
for(int i=1;i<=14;i++) in>>g[i].f>>g[i].t;
for(int i=1;i<=14;i++) in>>page[i].f;
for(int i=1;i<=19;i++) in>>I[i].f>>I[i].t;
in>>DRAGON;
for(int i=1;i<=54;i++) {
check=Hash(check,a[i].f);
check=Hash(check,a[i].t);
}
for(int i=1;i<=1054;i++) {
check=Hash(check,b[i].f);
check=Hash(check,b[i].t);
check=Hash(check,b[i].lmt);
}
for(int i=1;i<=124;i++) {
check=Hash(check,c[i].f);
}
for(int i=1;i<=100;i++) {
check=Hash(check,d[i].f);
}
for(int i=1;i<=24;i++) {
check=Hash(check,e[i].f);
check=Hash(check,e[i].t);
}
for(int i=1;i<=14;i++) {
check=Hash(check,g[i].f);
check=Hash(check,g[i].t);
}
for(int i=1;i<=14;i++) {
check=Hash(check,page[i].f);
}
for(int i=1;i<=19;i++) {
check=Hash(check,I[i].f);
check=Hash(check,I[i].t);
}
in.close();
// if(check!=DRAGON&&check) {
// cout<<"不要改存档!!!";
// return 0;
// }
return 1;
}
inline void Save() {
ofstream out("dragon.ini");
DRAGON=0;
out<<year<<' '<<season<<' '<<zyc<<' '<<happy<<' '<<co<<' '<<ty_add<<' ';
for(int i=1;i<=54;i++) {
out<<a[i].f<<' '<<a[i].t<<' ';
DRAGON=Hash(DRAGON,a[i].f);
DRAGON=Hash(DRAGON,a[i].t);
}
for(int i=1;i<=1054;i++) {
out<<b[i].f<<' '<<b[i].t<<' '<<b[i].lmt<<' ';
DRAGON=Hash(DRAGON,b[i].f);
DRAGON=Hash(DRAGON,b[i].t);
DRAGON=Hash(DRAGON,b[i].lmt);
}
for(int i=1;i<=124;i++) {
out<<c[i].f<<' ';
DRAGON=Hash(DRAGON,c[i].f);
}
for(int i=1;i<=100;i++) {
DRAGON=Hash(DRAGON,d[i].f);
out<<d[i].f<<' ';
}
for(int i=1;i<=24;i++) {
DRAGON=Hash(DRAGON,e[i].f);
DRAGON=Hash(DRAGON,e[i].t);
out<<e[i].f<<' '<<e[i].t<<' ';
}
for(int i=1;i<=14;i++) {
DRAGON=Hash(DRAGON,g[i].f);
DRAGON=Hash(DRAGON,g[i].t);
out<<g[i].f<<' '<<g[i].t<<' ';
}
for(int i=1;i<=14;i++) {
DRAGON=Hash(DRAGON,page[i].f);
out<<page[i].f<<' ';
}
for(int i=1;i<=19;i++) {
DRAGON=Hash(DRAGON,I[i].f);
DRAGON=Hash(DRAGON,I[i].t);
out<<I[i].f<<' '<<I[i].t<<' ';
}
out<<DRAGON<<' ';
out.close();
return ;
}
signed main() {
system("color f0");
srand(time(0));
a[1].s="猫薄荷田";a[1].y[1]={1156,1};a[1].f=1;a[1].p=1.12;a[1].c="产出食物0.63/s";a[1].t=50;
a[2].s="小屋";a[2].y[1]={5,2};a[2].p=2.5;a[2].c="增加人口";
a[3].s="图书馆";a[3].y[1]={25,2};a[3].c="解锁科学和天文事件";
a[4].s="矿井";a[4].y[1]={100,2};a[4].c="解锁矿物";
a[5].s="工坊";a[5].r=2;a[5].y[1]={400,5};a[5].y[2]={100,2};a[5].p=1.15;a[5].c="解锁工坊内工艺制作和升级,非常重要,工艺制作效率+6%";
a[6].s="牧场";a[6].r=2;a[6].y[1]={15,2};a[6].y[2]={100,1};a[6].p=1.15;a[6].c="对食物需求-0.5%";
a[7].s="熔炉";a[7].y[1]={100,5};a[7].c="每秒消耗木和矿物产出铁";
a[8].s="水渠";a[8].y[1]={75,5};a[8].p=1.12;a[8].c="对食物产出加成3%";
a[9].s="粮仓";a[9].y[1]={50,2};a[9].p=1.75;a[9].c="为各种资源提供更高上限";
a[10].s="研究院";a[10].r=3;a[10].y[1]={50,2};a[10].y[2]={70,5};a[10].y[3]={100,4};a[10].c="更大加成科学";
a[11].s="剧场";a[11].r=3;a[11].y[1]={200,2};a[11].y[2]={1200,5};a[11].y[3]={3,1004};a[11].c="产出极其少量文化,但特有用";
a[12].s="仓库";a[12].r=2;a[12].y[1]={1.5,1001};a[12].y[2]={2,1002};a[12].c="另一种存储资源方式";
a[13].s="神殿";a[13].r=4;a[13].y[1]={25,1002};a[13].y[2]={15,1003};a[13].y[3]={50,7};a[13].y[4]={10,1005};a[13].c="产出剧场20倍文化,此后文化再也不是稀缺品";
a[14].s="木材厂";a[14].r=3;a[14].y[1]={100,2};a[14].y[2]={50,6};a[14].y[3]={250,5};a[14].c="加工木材效率+10%";
a[15].s="港口";a[15].r=3;a[15].y[1]={5,1011};a[15].y[2]={50,1002};a[15].y[3]={75,1003};a[15].p=1.15;
a[16].s="天文台";a[16].r=4;a[16].y[1]={50,1011};a[16].y[2]={35,1002};a[16].y[3]={750,6};a[16].y[4]={1000,4};a[16].p=1.1;
b[1].s=CYAN+"猫薄荷";b[1].f=1;b[1].t=12000;b[1].lmt=12000;
b[2].s=BROWN+"木材";b[2].f=1;b[2].lmt=5000;
b[3].s=YELLOW+"猫口";b[3].lmt=0;
b[4].s=BLUE+"科学";b[4].lmt=1500;
b[5].s="矿物";b[5].lmt=2000;
b[6].s=GREY+"铁";b[6].lmt=600;
b[7].s=GOLD+"黄金";b[7].lmt=50;
b[8].s=YELLOW+"喵力";b[8].lmt=250;
b[9].s=PURPLE+"文化";b[9].lmt=100;
b[10].s="煤";b[10].lmt=75;
b[11].s=GREY+"钛";b[11].lmt=10;
b[12].s=GOLD+"信仰";b[12].lmt=100;
b[13].s="石油";b[13].lmt=1500;
b[14].s=GREEN+"铀";b[14].lmt=250;
b[15].s="难得素";b[15].lmt=150;
b[501].s="虔诚";
b[502].s="顿悟";
b[503].s=PURPLE+"星图";
b[996].s=BROWN2+"毛皮";b[996].f=1;
b[997].s=LIGHT_GREY+"象牙";b[997].f=1;
b[998].s=ORANGE+"独角兽";
page[1].s="营火";page[1].f=1;
page[2].s="村庄";
page[3].s="科学";
page[4].s="工坊";
page[5].s="贸易";
page[6].s="宗教";
page[7].s="空间";
page[8].s="时间";
page[9].s="统计";
RES();
for(int i=1;i<=7;i++) {
h[i].push_back(i+1);
}
h[7].push_back(9);
h[8].push_back(10);
h[10].push_back(11);
h[11].push_back(12);
h[11].push_back(13);
h[11].push_back(14);
h[14].push_back(15);
h[15].push_back(16);
h[16].push_back(17);
h[16].push_back(18);
h[16].push_back(21);
h[17].push_back(20);
h[18].push_back(19);
c[1].s="历法";c[1].price=30;c[1].c="今天是周几啦?";c[1].f=1;
c[2].s="农业";c[2].price=100;c[2].c="再也不用担心食物啦";
c[3].s="畜牧业";c[3].price=300;c[3].c="来一杯牛奶,先生!";
c[4].s="采矿";c[4].price=500;c[4].c="比木材坚硬多了";
c[5].s="金属冶炼";c[5].price=900;c[5].c="掌握金属加工,是文明的基础";
c[6].s="建筑";c[6].price=1300;c[6].c="通向大型建筑的必经之路";
c[7].s="数学";c[7].price=1000;c[7].c="数学是所有科学的基础";
c[8].s="货币";c[8].price=2200;c[8].c="金本位制";
c[9].s="工程";c[9].price=1500;c[9].c="能够建设大型工程是国家的根本";
c[10].s="写作";c[10].price=3600;c[10].c="文学开启了文明的大门";
c[11].s="哲学";c[11].price=9500;
c[12].s="钢";c[12].price=12000;
c[13].s="机械";c[13].price=15000;
c[14].s="神学";c[14].price=20000;c[14].manuscript=35;
c[15].s="天文学";c[15].price=28000;c[15].manuscript=65;
c[16].s="导航学";c[16].price=35000;c[16].manuscript=100;
c[17].s="建筑学";c[17].price=42000;c[17].summary=10;
c[18].s="物理学";c[18].price=50000;c[18].summary=35;
c[19].s="化学";c[19].price=60000;c[19].summary=50;
c[20].s="声学";c[20].price=60000;c[20].summary=60;
c[21].s="地质学";c[21].price=65000;c[21].summary=65;
d[1].s="木锄(对fish产出加成20%)";d[1].r=2;d[1].y[1]={100,2};d[1].y[2]={50,4};
d[2].s="矿石锄(对fish产出加成50%)";d[2].r=2;d[2].y[1]={275,5};d[2].y[2]={100,4};
d[3].s="生铁锄(对fish产出加成30%)";d[3].r=2;d[3].y[1]={25,6};d[3].y[2]={200,4};
d[4].s="浓缩(木材的价格变为50)";d[4].y[1]={5000,1};
d[5].s="天体力学(对罕见天文现象有加成)";d[5].y[1]={250,4};
d[6].s="木斧(对wood产出加成30%)";d[6].r=2;d[6].y[1]={1000,2};d[6].y[2]={70,4};
d[7].s="矿石斧(对wood产出加成70%)";d[7].r=2;d[7].y[1]={500,5};d[7].y[2]={200,4};
d[8].s="生铁斧(对wood产出加成50%)";d[8].r=2;d[8].y[1]={50,6};d[8].y[2]={200,4};
d[9].s="投石索(狩猎增益+100%)";d[9].r=3;d[9].y[1]={250,5};d[9].y[2]={50,2};d[9].y[3]={1000,4};
d[10].s="狩猎盔甲(狩猎增益+200%)";d[10].r=2;d[10].y[1]={750,6};d[10].y[2]={2000,4};
d[11].s="复合弓(改进后的弓,喵力产出获得50%的永久加成)";d[11].r=3;d[11].y[1]={500,4};d[11].y[2]={100,6};d[11].y[3]={200,2};
d[12].s="弩(进一步改良的弓,喵力产出获得25%的永久加成)";d[12].r=2;d[12].y[1]={1500,6};d[12].y[2]={12000,4};
d[13].s="精钢斧(对wood产出加成50%)";
d[14].s="自动狩猎 15Kscience,10齿轮";
d[15].s="工坊自动化";
e[0].s=b[2].s+RESET;e[0].f=1;e[0].y[1]={100,1};
e[1].s=BROWN+"木梁"+RESET;e[1].f=1;e[1].y[1]={175,2};
e[2].s=GREY+"石板"+RESET;e[2].f=1;e[2].y[1]={250,5};
e[3].s=LIGHT_YELLOW+"金属板"+RESET;e[3].f=1;e[3].y[1]={125,6};
e[4].s=BROWN3+"羊皮纸"+RESET;e[4].f=1;e[4].y[1]={175,996};
e[5].s=LIGHT_BLUE+"手稿"+RESET;e[5].r=2;e[5].y[1]={25,1004};e[5].y[2]={400,9};
e[6].s=DARK_GREY+"钢"+RESET;e[6].r=2;e[6].y[1]={100,6};e[6].y[2]={100,10};
e[7].s=GREY+"齿轮"+RESET;e[7].y[1]={15,1006};
e[8].s=GREY+"混凝土"+RESET;e[8].r=2;e[8].y[1]={2500,1002};e[8].y[2]={25,1006};
e[9].s=GOLD+"合金"+RESET;e[9].r=2;e[9].y[1]={75,1006};e[9].y[2]={10,11};
e[10].s=GREY+"E合金"+RESET;
e[11].s=BROWN+"脚手架"+RESET;e[11].y[1]={50,1001};
e[12].s="贸易船";e[12].r=3;e[12].y[1]={100,1011};e[12].y[2]={150,1003};e[12].y[3]={25,503};
e[13].s="概要";e[13].r=2;e[13].y[1]={50,1005};e[13].y[2]={10000,4};
e[14].s=BLUE+"蓝图"+RESET;e[14].r=2;e[14].y[1]={25,1013};e[14].y[2]={25000,4};
e[15].s="钍";e[15].y[1]={250,14};
e[16].s="煤油";e[16].y[1]={7500,13};
e[17].s="巨石";
g[1].s="伐木工";g[1].f=1;
g[2].s="农民";
g[3].s="科学家";
g[4].s="矿工";
g[5].s="牧师";
g[6].s="地质学家";
I[1].s="阳光赞歌";I[1].price=100;I[1].pt=150;I[1].c="信仰产出增加10%";
I[2].s="经院哲学";I[2].price=250;I[2].pt=300;I[2].c="神殿提供科学上限";
I[3].s="黄金塔尖";I[3].price=350;I[3].gold=150;I[3].pt=500;I[3].c="神殿信仰储存上限提高50%";
I[4].s="太阳祭坛";I[4].price=500;I[4].gold=250;I[4].pt=750;I[4].c="每个神殿使幸福度提高0.5%";
I[5].s="彩色玻璃";I[5].price=500;I[5].gold=250;I[5].pt=750;I[5].c="神殿产出两倍的文化点";
I[6].s="太阳革命";I[6].price=750;I[6].gold=500;I[6].pt=1000;I[6].g=1;I[6].c="积累的信仰将轻微推动资源生产效率";
I[7].s="大教堂";I[7].price=1250;I[7].gold=750;I[7].pt=10000;I[7].c="神殿产出更多的文化点,提高文化储存上限";
I[8].s="圣殿骑士";I[8].price=3500;I[8].gold=3000;I[8].pt=75000;I[8].c="神殿少量提升喵力上限";
I[9].s="新约外传";I[9].price=5000;I[9].gold=5000;I[9].pt=100000;I[9].g=1;I[9].c="赋予虔诚转化为顿悟的能力,从而提升赞美太阳的效率。";
I[10].s="超越";I[10].price=7500;I[10].gold=7500;I[10].pt=125000;I[10].g=1;I[10].c="解锁额外的宗教升级";I[10].f=0;
GZC[1].s="麦心怡";GZC[1].w[1]=-5;GZC[1].w[2]=35;GZC[1].w[3]=15;GZC[1].w[4]=5;GZC[1].buy={1000,5};GZC[1].sold={500,2};GZC[1].House=100;GZC[1].Friendly=25;
GZC[2].s="刘铭朗";GZC[2].w[1]=20;GZC[2].w[2]=-5;GZC[2].w[3]=10;GZC[2].w[4]=45;GZC[2].buy={100,6};GZC[2].sold={75000,1};GZC[2].House=100;GZC[2].Friendly=0;
GZC[3].s="周宇辰";GZC[3].w[1]=-25;GZC[3].w[2]=-5;GZC[3].w[3]=35;GZC[3].w[4]=-20;GZC[3].buy={500,2};GZC[3].sold={250,6};GZC[3].House=1000;GZC[3].Friendly=-10;
GZC[4].s="周昭晖";GZC[4].w[1]=25;GZC[4].w[2]=5;GZC[4].w[3]=-35;GZC[4].w[4]=-5;GZC[4].buy={500,997};GZC[4].sold={1000,5};GZC[4].House=500;GZC[4].Friendly=0;
GZC[5].s="徐昊兮";GZC[5].w[1]=0;GZC[5].w[2]=15;GZC[5].w[3]=-10;GZC[5].w[4]=-20;GZC[5].buy={50,1002};GZC[5].sold={300,6};GZC[5].House=25000;GZC[5].Friendly=-30;
GZC[6].s="张亦弛";GZC[6].w[1]=0;GZC[6].w[2]=5;GZC[6].w[3]=15;GZC[6].w[4]=-5;GZC[6].buy={50,1011};GZC[6].sold={350,10};GZC[6].House=5000;GZC[6].Friendly=15;
GZC[7].s="郭子楚";GZC[7].w[1]=35;GZC[7].w[2]=-5;GZC[7].w[3]=45;GZC[7].w[4]=5;GZC[7].buy={250,11};GZC[7].sold={1,14};GZC[7].House=7000;GZC[7].Friendly=30;
slowout("WELCOME TO CAT CITY BUILDER\n",10);
slowout("YOU ARE A LITTLE CAT IN THE CATNIP FOREST\n",10);
slowout("是否需要介绍和攻略,是则按↑键,否则按Enter\n",10);
while(1) {
if(GetAsyncKeyState(VK_RETURN)&0x8000)break ;
if(GetAsyncKeyState(VK_UP)&0x8000) {
jieshao();break ;
}
}
for(int i=1;i<=20;i++) {b[1000+i].s=e[i].s;}
slowout("是否需要读取存档?是则输入y,否则输入n\n",10);
char sv;cin>>sv;
if(sv=='y'||sv=='Y') {
if(!Read()) return 0;
}
while(1) {
system("cls");
if(I[6].t) {
ty_add=1+(sqrt(1+b[501].t/125)-1)/200;
}else ty_add=1;
for(int i=1;i<=20;i++) {b[1000+i].t=e[i].t;}
if(b[1].t<0)break;
if(b[3].t>=5) {
happy=1-(b[3].t-5)*0.02*pow(0.952,a[11].t);
}
else happy=1;
if(happy<0.2)happy=0.2;
if(b[996].t>0.1)happy+=0.1;
if(b[997].t>0.1)happy+=0.1;
if(b[998].t>0.1)happy+=0.1;
if(I[4].t)happy+=(0.005+0.001*(I[4].t-1))*a[13].t;
co=co%400+1;
if(co%40==0)Save();
int ut=rand()%3;
if(co==1) {
year++;
if(ut==0) zyc=1.65;
if(ut==1) zyc=1.5;
if(ut==2) zyc=1.35;
if(ut==0) season="春(温暖)";
if(ut==1) season="春";
if(ut==2) season="春(寒冷)";
season=string(GREEN)+season;
}
if(co==101) {
if(ut==0) zyc=1.15;
if(ut==1) zyc=1;
if(ut==2) zyc=0.85;
if(ut==0) season="夏(温暖)";
if(ut==1) season="夏";
if(ut==2) season="夏(寒冷)";
season=string(YELLOW)+season;
}
if(co==201) {
if(ut==0) zyc=1.15;
if(ut==1) zyc=1;
if(ut==2) zyc=0.85;
if(ut==0) season="秋(温暖)";
if(ut==1) season="秋";
if(ut==2) season="秋(寒冷)";
season=string(GUHONG)+season;
}
if(co==301) {
if(ut==0) zyc=0.4;
if(ut==1) zyc=0.25;
if(ut==2) zyc=0.1;
if(ut==0) season="冬(温暖)";
if(ut==1) season="冬";
if(ut==2) season="冬(寒冷)";
season=string(LIGHT_BLUE)+season;
}
if(c[1].f==2)cout<<"第"<<year<<"年\n";
cout<<season<<RESET<<"\n";
if(c[1].f==2)cout<<"第"<<(co-1)%100+1<<"天\n";
if(c[2].f==2)g[2].f=1;
if(c[14].f==2){g[5].f=1;b[12].f=b[501].f=1;}
if(co%50<=5) {
cout<<"已自动存档!\n";
}
if(co%50==0) {
Save();
}
if(a[3].t) {
if(rand()%400==0) {
sky=25;skysc=60*(1+scc*0.3)+rand()%70;
b[4].t+=skysc;
}
if(rand()%1000==0) {
skysc=50*(1+(upp>5))+rand()%40,skymn=50*(1+(upp>5))+rand()%60;rock=25;
b[4].t+=skysc;
b[5].f=1;b[5].t+=skymn;
}
}
if(sky) {
cout<<"天空中出现了一种罕见的天文现象\n";sky--;
cout<<"科学+"<<skysc<<"!\n";
}
if(rock) {
cout<<"一颗陨石坠落在村庄附近,科学+"<<skysc<<",矿物+"<<skymn<<"!\n";rock--;
}
if(bb) {
cout<<"你的小猫回来了\n";
cout<<fur<<b[996].s<<RESET<<" ";
cout<<ivory<<b[997].s<<RESET<<" ";
if(unicorn){cout<<unicorn<<b[998].s<<"\n";b[998].f=1;}
else cout<<"\n";
bb--;
}
cout<<PURPINK<<"幸福度"<<RESET<<":"<<happy*100<<"%\n";
if(c[14].f==2)cout<<GOLD<<"太阳革命加成"<<RESET<<":"<<(ty_add-1)*100<<"%\n";
//cout<<DARK_GREY<<"污染"<<RESET<<":";
cout<<"S:存档\n";
if(r)r=(r+1)%6;
b[1].v=a[1].t*0.63*zyc*(1+a[8].t*0.03+(c[2].f==2)*0.2)-b[3].t*4*pow(0.995,a[6].t)+5*g[2].t*(1+fishh);
b[1].v*=ty_add;
b[1].t+=b[1].v;
b[2].v=g[1].t*0.2*(1+woodd+0.1*a[14].t)*happy-ironn()*0.5*rl;
b[2].v*=ty_add;
b[2].t+=b[2].v;
b[4].v=g[3].t*0.2*(1+0.1*a[3].t+0.2*a[10].t)*happy;
b[4].v*=ty_add;
b[4].t+=b[4].v;
b[5].v=g[4].t*0.3*(1+a[4].t*0.2)*happy-ironn()*0.2*rl;
b[5].v*=ty_add;
b[5].t+=b[5].v;
b[6].v=ironn()*rl*0.1;
b[6].v*=ty_add;
b[6].t+=b[6].v;
b[8].v=0.75*b[3].t*happy;
b[8].v*=ty_add;
b[8].t+=b[8].v;
b[9].v=(0.025*a[11].t+a[13].t*(0.5+0.5*I[5].t+((I[7].t)?(1+0.25*(I[7].t-1)):0)));
b[9].v*=ty_add;
b[9].t+=b[9].v;
b[12].v=0.0075*g[5].t*happy*(1+0.1*I[1].t);
b[12].v*=ty_add;
b[12].t+=b[12].v;
b[996].v=-0.05*b[3].t;
b[996].t+=b[996].v;
b[996].t=max(b[996].t,0.00);
b[997].v=-0.02*b[3].t;
b[997].t+=b[997].v;
b[997].t=max(b[997].t,0.00);
if(b[7].f) {
b[7].v=ironn()*rl*0.025;
b[7].v*=ty_add;
b[7].t+=b[7].v;
}
if(b[14].f) {
b[14].v=a[13].t*0.175;
b[14].v*=ty_add;
b[14].t+=b[14].v;
}
cout<<"输入p以及页码以切换页面\n";
for(int i=1;i<=10;i++) {
if(page[i].f) {
cout<<"|"<<i;
if(i==pg)cout<<RED;
cout<<page[i].s<<RESET;
}
}
cout<<"|\n--------------------\n";
if(pg==3) {
cout<<b[4].s<<"\n";
cout<<"先输入s,再输入科学编号\n";
for(int i=1;i<=115;i++) {
if(c[i].f==0||c[i].f==2)continue ;
int se=c[i].price;
cout<<i<<":["<<((se>b[4].lmt)?RED:((b[4].t>=se&&e[5].t>=c[i].manuscript&&e[13].t>=c[i].summary&&e[14].t>=c[i].blueprint)?RESET:GREY))<<c[i].s<<RESET<<"] price:"<<se<<" ";
if(c[i].manuscript)cout<<c[i].manuscript<<e[5].s<<" ";
if(c[i].summary)cout<<c[i].summary<<e[13].s<<" ";
if(c[i].blueprint)cout<<c[i].blueprint<<e[14].s<<" ";
cout<<c[i].c<<"\n";
}
}
if(pg==4) {
cout<<"工坊\n";
if(d[1].f==0&&c[2].f==2)d[1].f=1;
if(d[2].f==0&&c[4].f==2)d[2].f=1;
if(d[3].f==0&&c[5].f==2)d[3].f=1;
if(d[4].f==0&&c[2].f==2)d[4].f=1;
if(d[5].f==0&&c[7].f==2)d[5].f=1;
if(d[6].f==0&&c[3].f==2)d[6].f=1;
if(d[7].f==0&&c[6].f==2)d[7].f=1;
if(d[8].f==0&&c[6].f==2)d[8].f=1;
if(d[9].f==0&&c[4].f==2)d[9].f=1;
if(d[10].f==0&&c[5].f==2)d[10].f=1;
cout<<"升级\n";
cout<<"先输入u,再输入升级的编号\n";
for(int i=1;i<=100;i++) {
if(d[i].f==1) {
cout<<i<<" ";
int U=__up(i);
if(!U)cout<<GREY;
if(U==2)cout<<RED;
cout<<d[i].s<<RESET<<":";
for(int j=1;j<=d[i].r;j++) {
cout<<d[i].y[j].price<<b[d[i].y[j].u].s<<" ";
}
cout<<"\n";
}
}
cout<<"------------------------\n";
cout<<"工艺制作效率:"<<eff*100<<"%\n";
for(int i=0;i<=17;i++) {
cout<<char('a'+i)<<":"<<e[i].s<<"(";
for(int j=1;j<=e[i].r;j++) {
cout<<e[i].y[j].price<<b[e[i].y[j].u].s;
if(j<e[i].r) cout<<",";
}
cout<<"):"<<e[i].t<<"\n";
}
}
if(pg==6) {
cout<<RED<<"进行操作前先输入z\n"<<RESET;
cout<<"0:赞美太阳(将所有信仰转化为虔诚)\n";
for(int i=1;i<=10;i++) {
if(I[10].t==0&&I[i].t) continue ;
if(b[501].t>=I[i].pt)I[i].f=1;
if(!I[i].f) continue ;
cout<<i<<":";
if(I[i].price>b[12].lmt||I[i].gold>b[7].lmt) cout<<RED;
else if(I[i].price<=b[12].t&&I[i].gold<=b[7].t) cout<<RESET;
else cout<<GREY;
cout<<I[i].s<<RESET;
cout<<"("<<I[i].t<<") "<<I[i].price<<b[12].s;
if(I[i].gold) {
cout<<" "<<I[i].gold<<b[7].s;
}
cout<<" "<<I[i].c<<"\n";
}
}
if(pg==1) {
for(int i=1;i<=20;i++) {
if(a[i].f) {
if(i<=9)cout<<i;
else cout<<char('A'+i-10);
cout<<":";
cl(i);cout<<"("<<a[i].t<<") price:";
for(int j=1;j<=a[i].r;j++) {
cout<<a[i].y[j].price<<b[a[i].y[j].u].s<<" ";
}
cout<<" "<<a[i].c<<"\n";
}
}
}
if(pg==5) {
for(int i=1;i<=7;i++) {
cout<<GZC[i].s<<" ";
for(int j=1;j<=4;j++) {
cout<<GZC[i].w[j]<<" ";
}
}
}
cout<<"--------------------\n";
cout<<"a:精炼猫薄荷(100)\n";
for(int i=1;i<=1000;i++) {
if(b[i].t>b[i].lmt&&i<=500&&kfz==0) {b[i].t=b[i].lmt;}
if(b[i].f) {
if(i<=500) {
cout<<b[i].s<<RESET;
cout<<":"<<b[i].t<<"/"<<b[i].lmt<<fuhao(b[i].v)<<fabs(b[i].v)<<"/s\n";
}
else {
cout<<b[i].s<<":"<<b[i].t<<fuhao(b[i].v)<<fabs(b[i].v)<<"/s\n";
}
}
}
if(a[7].t) {
cout<<"目前熔炉开启数量:"<<rl<<"\n";
cout<<"+:开启一个熔炉\n";
cout<<"-:关闭一个熔炉\n";
}
if(b[8].f&&b[8].t>=100) {
cout<<"h:打猎"<<((int)b[8].t)/100<<"次\n";
}
if(b[3].t) {
cout<<"r:替换职业\n";
cout<<"输入正整数x,y,k,表示从x职业调换k个人到y职业\n";
cout<<"记得输入r\n";
for(int i=1;i<=14;i++) {
if(g[i].f) {
cout<<i<<" "<<g[i].s<<":"<<g[i].t<<"\n";
}
}
}
char u;
cin>>u;
if(u=='Z') {
//slowout("进入开发者模式!\n",5);
kfz=1;
for(int i=1;i<=15;i++) {
if(i==3)continue ;
b[i].t+=10*b[i].lmt;
}
for(int i=1001;i<=1015;i++) {
b[i].t+=1e6;
e[i-1000].t+=1e6;
}
}
if(u=='S') {
slowout("正在存档中,请稍后\n",20);
Save();
system("pause");
}
if(u=='r') {
int X,Y,K;
cin>>X>>Y>>K;
if(g[X].f&&g[Y].f&&g[X].t>=K) {
g[X].t-=K;g[Y].t+=K;
}
}
if(u=='+') {
if(rl<a[7].t) rl++;
}
if(u=='-') {
if(rl>0) rl--;
}
if(u=='s') {
int sc;
cin>>sc;
if(b[4].t>=c[sc].price&&e[5].t>=c[sc].manuscript) {
b[4].t-=c[sc].price;
e[5].t-=c[sc].manuscript;
c[sc].f=2;
for(int i=0;i<(int)h[sc].size();i++) {
c[h[sc][i]].f=1;
}
}
}
if(u=='h') {
hunt=((int)b[8].t)/100;
b[8].t-=(double)hunt*100;
fur=0,ivory=0,unicorn=0;bb=10;
for(int i=1;i<=hunt;i++) {
fur+=4500*(1+hunnt)+rand()%3200;
ivory+=2250*(1+hunnt)+rand()%1250;
if(rand()%20==1) unicorn++;
}
b[996].t+=fur;
b[997].t+=ivory;
b[998].t+=unicorn;
}
if(u=='z') {
int w;cin>>w;
if(!w) {
b[501].t+=b[12].t;b[12].t=0;
}else {
bool canbuy=0;
if(I[w].t&&I[10].f==0)continue ;
if(I[w].g&&I[w].t)continue ;
if(b[12].t>=I[w].price&&b[7].t>=I[w].gold) {
canbuy=1;
I[w].f=1;
I[w].t++;
b[12].t-=I[w].price;
b[7].t-=I[w].gold;
I[w].price*=2.5;
I[w].gold*=2.5;
}
if(!canbuy)continue ;
if(w==2) {
if(I[w].t==1) {
b[4].lmt+=a[13].t*500;
}else {
b[4].lmt+=a[13].t*100;
}
}
if(w==3) {
if(I[w].t==1) {
b[12].lmt+=a[13].t*50;
}else {
b[12].lmt+=a[13].t*10;
}
}
if(w==7) {
if(I[w].t==1) {
b[9].lmt+=a[13].t*125;
}else {
b[9].lmt+=a[13].t*50;
}
}
if(w==8) {
if(I[w].t==1) {
b[8].lmt+=a[13].t*75;
}else {
b[8].lmt+=a[13].t*25;
}
}
}
}
if(u=='J') {
string s;char c;int x,n;
while(cin>>s) {
n=s.size();
if(n==1&&s[0]=='0')break ;
for(int i=0;i<n;i++) {
if(s[i]>='A'&&s[i]<='Z')c='A';
else if(s[i]>='a'&&s[i]<='z')c='a';
else continue ;
x=s[i]-c+1;
x=(x+Psw[i%6]-1)%26+1;
s[i]=c+x-1;
}
slowout(s,5);
if(s[n-1]=='.'||s[n-1]==','||s[n-1]=='!'||s[n-1]=='?')cout<<"\n";
else cout<<" ";
}
}
int gy;
if(u>='a'&&u<='y'&&u!='s'&&u!='h'&&u!='r'&&u!='u'&&u!='p') {
cout<<"请输入需要制作多少次"<<e[u-'a'].s<<"工艺(最多可制作";
int AB=1e9+7;
int k=u-'a';
for(int j=1;j<=e[k].r;j++) {
AB=min(AB,((int)b[e[k].y[j].u].t)/((int)e[k].y[j].price));
}
cout<<AB<<"次):";
cin>>gy;
if(gy>AB)continue ;
for(int j=1;j<=e[k].r;j++) {
b[e[k].y[j].u].t-=gy*e[k].y[j].price;
}
for(int i=1;i<=20;i++) {
e[i].t=b[i+1000].t;
}
e[k].t+=gy*eff;
b[k+1000].t=e[k].t;
if(!k)b[2].t=e[0].t;
}
if(u=='u') {
cin>>upp;
if(d[upp].f!=1)continue ;
if(__up(upp)==1) {
for(int j=1;j<=d[upp].r;j++) {
b[d[upp].y[j].u].t-=d[upp].y[j].price;
}
d[upp].f=2;
}
}
if(u=='p') {
cin>>pg;
}
if(c[14].f==2)page[6].f=1;
if(a[1].f==0&&b[1].t>=3)a[1].f=1;
if(a[2].f==0&&b[2].t>=5)a[2].f=1;
if(a[3].f==0&&b[2].t>=15)a[3].f=1;
if(a[4].f==0&&b[2].t>=75)a[4].f=1;
if(a[5].f==0&&b[5].t>=75&&c[4].f==2)a[5].f=1;
if(a[6].f==0&&c[3].f==2)a[6].f=1;
if(a[7].f==0&&c[5].f==2){a[7].f=1;b[6].f=1;}
if(a[7].t&&c[8].f==2)b[7].f=1;
if(a[8].f==0&&c[9].f==2)a[8].f=1;
if(a[9].f==0&&c[2].f==2)a[9].f=1;
if(a[10].f==0&&c[7].f==2)a[10].f=1;
if(a[11].f==0&&c[10].f==2) {a[11].f=1;b[9].f=1;e[5].f=1;}
if(a[12].f==0&&c[6].f==2) {a[12].f=1;}
if(a[13].f==0&&c[10].f==2) {a[13].f=1;}
if(a[14].f==0&&c[6].f==2) {a[14].f=1;}
if(u=='0') {b[1].t++;}
bool canbuy=1;
if((u>='1'&&u<='9')||(u>='A'&&u<='Y')) {
if(u=='S')continue ;
int k;
if(u>='1'&&u<='9') k=u-'0';
else k=u-'A'+10;
for(int i=1;i<=a[k].r;i++) {
if(b[a[k].y[i].u].t<a[k].y[i].price) {
canbuy=0;
}
}
if(canbuy) {
a[k].t++;
for(int i=1;i<=a[k].r;i++) {
b[a[k].y[i].u].t-=a[k].y[i].price;
a[k].y[i].price*=a[k].p;
}
}
for(int i=1;i<=20;i++) {e[i].t=b[1000+i].t;}
e[0].t=b[2].t;
}
if(!canbuy)continue ;
if(u=='2') {
page[2].f=1;
if(g[3].f)g[3].t+=2;
else g[1].t+=2;
b[3].f=b[4].f=b[8].f=1;
r=1;
b[3].lmt+=2;
b[8].lmt+=200;
b[3].t+=2;
}
if(u=='3') {
page[3].f=1;
g[3].f=1;
b[4].lmt+=250;
b[9].lmt+=10;
}
if(u=='4') {
g[4].f=1;
b[5].f=1;
}
if(u=='5') {
page[4].f=1;
eff+=0.06;
}
if(u=='9') {
b[1].lmt+=5000;
b[2].lmt+=200;
b[5].lmt+=250;
b[6].lmt+=50;
b[7].lmt+=10;
b[10].lmt+=60;
b[11].lmt+=2;
}
if(u=='A') {
b[4].lmt+=500;
b[9].lmt+=25;
}
if(u=='B') {
b[9].lmt+=50;
}
if(u=='C') {
b[2].lmt+=150;
b[5].lmt+=200;
b[6].lmt+=25;
b[7].lmt+=5;
b[10].lmt+=30;
b[11].lmt+=10;
}
if(u=='D') {
b[12].lmt+=100;
if(I[2].t) {
b[4].lmt+=(500+(I[2].t-1)*100);
}
if(I[7].t) {
b[9].lmt+=(125+(I[7].t-1)*50);
}
if(I[8].t) {
b[8].lmt+=(75+(I[8].t-1)*25);
}
}
Sleep(7);
}
cout<<"游戏结束\n";
system("pause");
return 0;
}
标签名称 描述 营火 开始游戏后第一个标签。 这个标签展示你所有的 建筑物 ,并可以从这里建造。 游戏一开始你只能点击“ 收集猫薄荷 ”。 村庄 由建造猫口建筑解锁。 在村庄标签可以分配 工作 ,且你可以派遣猎人狩猎,并查看猫口普查的细节。 本标签的名称会随着猫口数量改变,详见 小猫 词条。 科学 这是研究 科学 、 玄学 和决定 政策 的地方。 工坊 由建筑 工坊 后解锁, 升级 ,并且可以将一些基础资源通过 工艺制作 贸易 发现一个新的文明后解锁。在这里,您可以发现其它文明,或者进行贸易。 (注:种族有解锁的前置条件)。 宗教 由科学中的 神学 解锁。 此标签中包含 庙塔 、 太阳教团 和 奥秘神学 。 空间 由科学中的 火箭学 解锁。 探索太空并解锁其他的星球。 时间 可以在这里进行重置、操纵时间和虚空相关的升级。 挑战 由玄学 仲裁局 解锁。挑战设置了特殊的限制,一旦达成挑战目标,将会获得永久的奖励。 成就 各种成就目标。 有些是很容易得到的,而其他的则要复杂一些。 统计 显示了一些统计数据,如重置次数,领导力总数等。 概览 通过第三方插件计算,显示有关游戏的附加信息。