看生物教科书,就想到了这玩意儿^-^
库:
#include <bits/stdc++.h>
#include <windows.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
using namespace std;
培养皿结构体:
struct stu
{
unsigned long long sl;
string name;
bool gr,dk;//对抗
bool cz;//存在?
long double zdl;//战斗力
};
stu a[50];
全局数组:
unsigned long long zl[50],zl2[50];
main函数:
int main()
{
cout<<"1 培养细胞 2 查看生长情况"<<endl;
string xz;
short sl=0,jf=0;//积分
short xs=0,pc=0,qt=0;
bool cf=true;
int sys=3;
long long zzl,zzl2;
while(cin>>xz)
{
for(int i=1; i<=sl ;i++)
{
if(a[i].sl>10000000000000000000)//
{
cout<<"细胞数量到达上限了,换个实验室吧"<<endl;
return 0;
}
a[i].sl*=abs(rand()%3+2);
if(a[i].name=="流感病毒")
{
a[i].sl*=5;
}
a[i].zdl+=0.01;
if(a[i].dk==true)
{
if(zl[i]+zl2[i]>100000000)
{
a[i].zdl/=5;
a[i].sl=2;
}
else if(zl2[i]>=20000&&a[i].zdl<=1.875)
{
a[i].sl/=4;
a[i].zdl-=0.001;
zl2[i]-=20000;
}
else if(zl2[i]>=1000&&a[i].zdl<=1.875)
{
a[i].sl+=10000;
a[i].zdl+=0.075;
zl2[i]=0;
}
else if(zl[i]>=20000&&a[i].zdl<=0.5)
{
a[i].sl/=2;
a[i].zdl+=0.02;
zl[i]-=20000;
}
else if(zl[i]+zl2[i]<=25000&&a[i].zdl>=0.1)
{
a[i].sl+=5000;
a[i].zdl+=0.09;
zl[i]=zl2[i]=0;
}
else
{
a[i].sl+=50000;
a[i].zdl+=0.1;
zl[i]=zl2[i]=0;
}
}
if(a[i].gr==true&&jf<=150&&a[i].name!="金黄色葡萄球菌")
{
int k=rand()%15;
srand(time(0));
if(k==rand()%10)
{
cout<<"你被感染了,去医院"<<endl;
jf-=abs(rand()%10+5);
cout<<"就诊中";
for(int i=1; i<=10; i++)
{
sleep(1);
cout<<" - ";
}
sleep(1);
cout<<'\n';
cout<<"出院!"<<endl;
jf-=50;
sleep(3);
system("CLS");
}
}
}
if(jf>20&&sl>=1&&sys==3)
{
sys=2;
cout<<"实验室升级!"<<endl;
cout<<"现在等级:2"<<" 还需"<<60-jf<<"积分升级!"<<endl;
}
if(jf>60&&sl>10&sys==2)
{
sys=1;
cout<<"实验室升级!"<<endl;
cout<<"现在等级:1"<<endl;
}
while(xz!="1"&&xz!="2")
{
cout<<"Error!";
cin>>xz;
}
if(xz=="1")
{
a[sl].cz=true;
a[sl].sl=8;
cout<<"培养什么(1细胞/2病毒/3昆虫)?"<<endl;
cout<<setw(10)<<"选择:";
jf++;
cin>>xz;
while(xz!="1"&&xz!="2"&&xz!="3"&&xz!="4")
{
cout<<"Error!";
cin>>xz;
}
if(xz=="1")
{
cout<<"什么细胞? (名称要真名,看不懂你负责)"<<endl;
cin>>xz;
while(xz.size()>20||xz.size()<2)
{
cout<<"名称不正确!"<<endl;
cin>>xz;
}
sl++;
cout<<"增加培养皿 培养细胞:"<<xz<<endl;
jf+=5;
a[sl].name=xz;
}
else if(xz=="2")
{
if(sys<=2)
{
cout<<"培养病毒[危险系数较高 < 警告 > ]"<<endl;
cout<<"1.金黄色葡萄球菌 相对危险度***"<<endl<<"2.新冠病毒 相对危险度*****"<<endl<<"3.流感病毒 相对危险度****"<<endl;
cin>>xz;
if(xz=="1")
{
sl++;
cout<<"金黄色葡萄球菌 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl*=5;
a[sl].zdl=0.5;
a[sl].gr=true;
a[sl].name="金黄色葡萄球菌";
jf+=10;
}
else if(xz=="2")
{
sl++;
cout<<"新冠病毒 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl*=10;
a[sl].gr=true;
a[sl].zdl=1.5;
a[sl].name="新冠病毒";
jf+=30;
}
else if(xz=="3")
{
sl++;
cout<<"流感病毒 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl=80;
a[sl].sl*=125;
a[sl].gr=true;
a[sl].zdl=0.037;
a[sl].name="流感病毒";
jf+=20;
}
else
{
cout<<"Error!"<<endl;
}
}
else
{
cout<<"未到达培养病毒级别"<<endl;
cout<<"当前等级:"<<sys<<endl;
}
}
else
{
if(sys==1)
{
cout<<"1 蟋蟀 2 瓢虫 3 蜻蜓"<<endl;
cin>>xz;
if(xz=="1")
{
jf+=5;
cout<<"蟋蟀数量 +1";
if(xs>10)
{
cout<<"蟋蟀过多!"<<endl;
}
else
{
xs++;
}
}
if(xz=="2")
{
jf+=5;
cout<<"瓢虫数量 +1";
if(xs>15)
{
cout<<"瓢虫过多!"<<endl;
}
else
{
pc++;
}
}
if(xz=="3")
{
jf+=5;
cout<<"蜻蜓数量 +1";
if(xs>10)
{
cout<<"蜻蜓过多!"<<endl;
}
else
{
qt++;
}
}
}
else
{
cout<<"未到达培养昆虫级别"<<endl;
cout<<"当前等级:"<<sys<<endl;;
}
}
}
else
{
cout<<"查看培养皿";
jf+=2;
for(int i=1; i<=6; i++)
{
sleep(1);
cout<<".";
}
sleep(2);
cout<<'\n';
for(int i=1; i<=sl; i++)
{
cout<<endl<<"培养皿"<<i<<":"<<endl;
cout<<"名称:"<<a[i].name<<endl;
cout<<"数量:"<<a[i].sl<<endl;
if(a[i].gr==true&&sys==1)
{
cout<<"是否放入白细胞? Y/N";
cin>>xz;
if(xz=="Y")
{
cout<<"T细胞数量:";
cin>>zzl;
zl[i]+=zzl;
cout<<"淋巴细胞数量:";
cin>>zzl2;
zl2[i]+=zzl2;
a[i].dk=true;//打开对抗模式
}
else if(xz=="N")
{
cout<<"不进行对抗"<<endl;
a[i].zdl+=0.05;
}
else
{
cout<<"Error!";
}
}
}
cout<<"1 蟋蟀 "<<xs<<endl<<"2 瓢虫 "<<pc<<endl<<"3 蜻蜓 "<<qt<<endl;
cout<<"积分:"<<jf<<" "<<"实验室等级:"<<sys<<endl<<endl;
}
cout<<endl<<"1 培养细胞 2 查看生长情况"<<endl;
}
return 0;
}
代码(全)
#include <bits/stdc++.h>
#include <windows.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
using namespace std;
struct stu
{
unsigned long long sl;
string name;
bool gr,dk;//对抗
bool cz;//存在?
long double zdl;//战斗力
};
stu a[50];
unsigned long long zl[50],zl2[50];
int main()
{
cout<<"1 培养细胞 2 查看生长情况"<<endl;
string xz;
short sl=0,jf=0;//积分
short xs=0,pc=0,qt=0;
bool cf=true;
int sys=3;
long long zzl,zzl2;
while(cin>>xz)
{
for(int i=1; i<=sl ;i++)
{
if(a[i].sl>10000000000000000000)//
{
cout<<"细胞数量到达上限了,换个实验室吧"<<endl;
return 0;
}
a[i].sl*=abs(rand()%3+2);
if(a[i].name=="流感病毒")
{
a[i].sl*=5;
}
a[i].zdl+=0.01;
if(a[i].dk==true)
{
if(zl[i]+zl2[i]>100000000)
{
a[i].zdl/=5;
a[i].sl=2;
}
else if(zl2[i]>=20000&&a[i].zdl<=1.875)
{
a[i].sl/=4;
a[i].zdl-=0.001;
zl2[i]-=20000;
}
else if(zl2[i]>=1000&&a[i].zdl<=1.875)
{
a[i].sl+=10000;
a[i].zdl+=0.075;
zl2[i]=0;
}
else if(zl[i]>=20000&&a[i].zdl<=0.5)
{
a[i].sl/=2;
a[i].zdl+=0.02;
zl[i]-=20000;
}
else if(zl[i]+zl2[i]<=25000&&a[i].zdl>=0.1)
{
a[i].sl+=5000;
a[i].zdl+=0.09;
zl[i]=zl2[i]=0;
}
else
{
a[i].sl+=50000;
a[i].zdl+=0.1;
zl[i]=zl2[i]=0;
}
}
if(a[i].gr==true&&jf<=150&&a[i].name!="金黄色葡萄球菌")
{
int k=rand()%15;
srand(time(0));
if(k==rand()%10)
{
cout<<"你被感染了,去医院"<<endl;
jf-=abs(rand()%10+5);
cout<<"就诊中";
for(int i=1; i<=10; i++)
{
sleep(1);
cout<<" - ";
}
sleep(1);
cout<<'\n';
cout<<"出院!"<<endl;
jf-=50;
sleep(3);
system("CLS");
}
}
}
if(jf>20&&sl>=1&&sys==3)
{
sys=2;
cout<<"实验室升级!"<<endl;
cout<<"现在等级:2"<<" 还需"<<60-jf<<"积分升级!"<<endl;
}
if(jf>60&&sl>10&sys==2)
{
sys=1;
cout<<"实验室升级!"<<endl;
cout<<"现在等级:1"<<endl;
}
while(xz!="1"&&xz!="2")
{
cout<<"Error!";
cin>>xz;
}
if(xz=="1")
{
a[sl].cz=true;
a[sl].sl=8;
cout<<"培养什么(1细胞/2病毒/3昆虫)?"<<endl;
cout<<setw(10)<<"选择:";
jf++;
cin>>xz;
while(xz!="1"&&xz!="2"&&xz!="3"&&xz!="4")
{
cout<<"Error!";
cin>>xz;
}
if(xz=="1")
{
cout<<"什么细胞? (名称要真名,看不懂你负责)"<<endl;
cin>>xz;
while(xz.size()>20||xz.size()<2)
{
cout<<"名称不正确!"<<endl;
cin>>xz;
}
sl++;
cout<<"增加培养皿 培养细胞:"<<xz<<endl;
jf+=5;
a[sl].name=xz;
}
else if(xz=="2")
{
if(sys<=2)
{
cout<<"培养病毒[危险系数较高 < 警告 > ]"<<endl;
cout<<"1.金黄色葡萄球菌 相对危险度***"<<endl<<"2.新冠病毒 相对危险度*****"<<endl<<"3.流感病毒 相对危险度****"<<endl;
cin>>xz;
if(xz=="1")
{
sl++;
cout<<"金黄色葡萄球菌 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl*=5;
a[sl].zdl=0.5;
a[sl].gr=true;
a[sl].name="金黄色葡萄球菌";
jf+=10;
}
else if(xz=="2")
{
sl++;
cout<<"新冠病毒 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl*=10;
a[sl].gr=true;
a[sl].zdl=1.5;
a[sl].name="新冠病毒";
jf+=30;
}
else if(xz=="3")
{
sl++;
cout<<"流感病毒 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl=80;
a[sl].sl*=125;
a[sl].gr=true;
a[sl].zdl=0.037;
a[sl].name="流感病毒";
jf+=20;
}
else
{
cout<<"Error!"<<endl;
}
}
else
{
cout<<"未到达培养病毒级别"<<endl;
cout<<"当前等级:"<<sys<<endl;
}
}
else
{
if(sys==1)
{
cout<<"1 蟋蟀 2 瓢虫 3 蜻蜓"<<endl;
cin>>xz;
if(xz=="1")
{
jf+=5;
cout<<"蟋蟀数量 +1";
if(xs>10)
{
cout<<"蟋蟀过多!"<<endl;
}
else
{
xs++;
}
}
if(xz=="2")
{
jf+=5;
cout<<"瓢虫数量 +1";
if(xs>15)
{
cout<<"瓢虫过多!"<<endl;
}
else
{
pc++;
}
}
if(xz=="3")
{
jf+=5;
cout<<"蜻蜓数量 +1";
if(xs>10)
{
cout<<"蜻蜓过多!"<<endl;
}
else
{
qt++;
}
}
}
else
{
cout<<"未到达培养昆虫级别"<<endl;
cout<<"当前等级:"<<sys<<endl;;
}
}
}
else
{
cout<<"查看培养皿";
jf+=2;
for(int i=1; i<=6; i++)
{
sleep(1);
cout<<".";
}
sleep(2);
cout<<'\n';
for(int i=1; i<=sl; i++)
{
cout<<endl<<"培养皿"<<i<<":"<<endl;
cout<<"名称:"<<a[i].name<<endl;
cout<<"数量:"<<a[i].sl<<endl;
if(a[i].gr==true&&sys==1)
{
cout<<"是否放入白细胞? Y/N";
cin>>xz;
if(xz=="Y")
{
cout<<"T细胞数量:";
cin>>zzl;
zl[i]+=zzl;
cout<<"淋巴细胞数量:";
cin>>zzl2;
zl2[i]+=zzl2;
a[i].dk=true;//打开对抗模式
}
else if(xz=="N")
{
cout<<"不进行对抗"<<endl;
a[i].zdl+=0.05;
}
else
{
cout<<"Error!";
}
}
}
cout<<"1 蟋蟀 "<<xs<<endl<<"2 瓢虫 "<<pc<<endl<<"3 蜻蜓 "<<qt<<endl;
cout<<"积分:"<<jf<<" "<<"实验室等级:"<<sys<<endl<<endl;
}
cout<<endl<<"1 培养细胞 2 查看生长情况"<<endl;
}
return 0;
}
#include <bits/stdc++.h>
#include <windows.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
using namespace std;
struct stu
{
unsigned long long sl;
string name;
bool gr,dk;//对抗
bool cz;//存在?
long double zdl;//战斗力
};
stu a[50];
unsigned long long zl[50],zl2[50];
int main()
{
cout<<"1 培养细胞 2 查看生长情况"<<endl;
string xz;
short sl=0,jf=0;//积分
short xs=0,pc=0,qt=0;
bool cf=true;
int sys=3;
long long zzl,zzl2;
while(cin>>xz)
{
for(int i=1; i<=sl ;i++)
{
if(a[i].sl>10000000000000000000)//
{
cout<<"细胞数量到达上限了,换个实验室吧"<<endl;
return 0;
}
a[i].sl*=abs(rand()%3+2);
if(a[i].name=="流感病毒")
{
a[i].sl*=5;
}
a[i].zdl+=0.01;
if(a[i].dk==true)
{
if(zl[i]+zl2[i]>100000000)
{
a[i].zdl/=5;
a[i].sl=2;
}
else if(zl2[i]>=20000&&a[i].zdl<=1.875)
{
a[i].sl/=4;
a[i].zdl-=0.001;
zl2[i]-=20000;
}
else if(zl2[i]>=1000&&a[i].zdl<=1.875)
{
a[i].sl+=10000;
a[i].zdl+=0.075;
zl2[i]=0;
}
else if(zl[i]>=20000&&a[i].zdl<=0.5)
{
a[i].sl/=2;
a[i].zdl+=0.02;
zl[i]-=20000;
}
else if(zl[i]+zl2[i]<=25000&&a[i].zdl>=0.1)
{
a[i].sl+=5000;
a[i].zdl+=0.09;
zl[i]=zl2[i]=0;
}
else
{
a[i].sl+=50000;
a[i].zdl+=0.1;
zl[i]=zl2[i]=0;
}
}
if(a[i].gr==true&&jf<=150&&a[i].name!="金黄色葡萄球菌")
{
int k=rand()%15;
srand(time(0));
if(k==rand()%10)
{
cout<<"你被感染了,去医院"<<endl;
jf-=abs(rand()%10+5);
cout<<"就诊中";
for(int i=1; i<=10; i++)
{
sleep(1);
cout<<" - ";
}
sleep(1);
cout<<'\n';
cout<<"出院!"<<endl;
jf-=50;
sleep(3);
system("CLS");
}
}
}
if(jf>20&&sl>=1&&sys==3)
{
sys=2;
cout<<"实验室升级!"<<endl;
cout<<"现在等级:2"<<" 还需"<<60-jf<<"积分升级!"<<endl;
}
if(jf>60&&sl>10&sys==2)
{
sys=1;
cout<<"实验室升级!"<<endl;
cout<<"现在等级:1"<<endl;
}
while(xz!="1"&&xz!="2")
{
cout<<"Error!";
cin>>xz;
}
if(xz=="1")
{
a[sl].cz=true;
a[sl].sl=8;
cout<<"培养什么(1细胞/2病毒/3昆虫)?"<<endl;
cout<<setw(10)<<"选择:";
jf++;
cin>>xz;
while(xz!="1"&&xz!="2"&&xz!="3"&&xz!="4")
{
cout<<"Error!";
cin>>xz;
}
if(xz=="1")
{
cout<<"什么细胞? (名称要真名,看不懂你负责)"<<endl;
cin>>xz;
while(xz.size()>20||xz.size()<2)
{
cout<<"名称不正确!"<<endl;
cin>>xz;
}
sl++;
cout<<"增加培养皿 培养细胞:"<<xz<<endl;
jf+=5;
a[sl].name=xz;
}
else if(xz=="2")
{
if(sys<=2)
{
cout<<"培养病毒[危险系数较高 < 警告 > ]"<<endl;
cout<<"1.金黄色葡萄球菌 相对危险度***"<<endl<<"2.新冠病毒 相对危险度*****"<<endl<<"3.流感病毒 相对危险度****"<<endl;
cin>>xz;
if(xz=="1")
{
sl++;
cout<<"金黄色葡萄球菌 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl*=5;
a[sl].zdl=0.5;
a[sl].gr=true;
a[sl].name="金黄色葡萄球菌";
jf+=10;
}
else if(xz=="2")
{
sl++;
cout<<"新冠病毒 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl*=10;
a[sl].gr=true;
a[sl].zdl=1.5;
a[sl].name="新冠病毒";
jf+=30;
}
else if(xz=="3")
{
sl++;
cout<<"流感病毒 "<<endl<<setw(20)<<"-注意安全-"<<endl;
a[sl].sl=80;
a[sl].sl*=125;
a[sl].gr=true;
a[sl].zdl=0.037;
a[sl].name="流感病毒";
jf+=20;
}
else
{
cout<<"Error!"<<endl;
}
}
else
{
cout<<"未到达培养病毒级别"<<endl;
cout<<"当前等级:"<<sys<<endl;
}
}
else
{
if(sys==1)
{
cout<<"1 蟋蟀 2 瓢虫 3 蜻蜓"<<endl;
cin>>xz;
if(xz=="1")
{
jf+=5;
cout<<"蟋蟀数量 +1";
if(xs>10)
{
cout<<"蟋蟀过多!"<<endl;
}
else
{
xs++;
}
}
if(xz=="2")
{
jf+=5;
cout<<"瓢虫数量 +1";
if(xs>15)
{
cout<<"瓢虫过多!"<<endl;
}
else
{
pc++;
}
}
if(xz=="3")
{
jf+=5;
cout<<"蜻蜓数量 +1";
if(xs>10)
{
cout<<"蜻蜓过多!"<<endl;
}
else
{
qt++;
}
}
}
else
{
cout<<"未到达培养昆虫级别"<<endl;
cout<<"当前等级:"<<sys<<endl;;
}
}
}
else
{
cout<<"查看培养皿";
jf+=2;
for(int i=1; i<=6; i++)
{
sleep(1);
cout<<".";
}
sleep(2);
cout<<'\n';
for(int i=1; i<=sl; i++)
{
cout<<endl<<"培养皿"<<i<<":"<<endl;
cout<<"名称:"<<a[i].name<<endl;
cout<<"数量:"<<a[i].sl<<endl;
if(a[i].gr==true&&sys==1)
{
cout<<"是否放入白细胞? Y/N";
cin>>xz;
if(xz=="Y")
{
cout<<"T细胞数量:";
cin>>zzl;
zl[i]+=zzl;
cout<<"淋巴细胞数量:";
cin>>zzl2;
zl2[i]+=zzl2;
a[i].dk=true;//打开对抗模式
}
else if(xz=="N")
{
cout<<"不进行对抗"<<endl;
a[i].zdl+=0.05;
}
else
{
cout<<"Error!";
}
}
}
cout<<"1 蟋蟀 "<<xs<<endl<<"2 瓢虫 "<<pc<<endl<<"3 蜻蜓 "<<qt<<endl;
cout<<"积分:"<<jf<<" "<<"实验室等级:"<<sys<<endl<<endl;
}
cout<<endl<<"1 培养细胞 2 查看生长情况"<<endl;
}
return 0;
}
谢谢!
(请期待——战列舰)