#include<bits/stdc++.h>
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<windows.h>
using namespace std;
int day;
int zhanji=0;
int jinbi=1000;
int yourenwaichuma;
int beibao[110]={0,3,3,3};
int len=3;
int renshu=4;
string beibao_ming[110]={"","A.香蕉(+5点血量+15饥饿值)","B.苹果(+10点血量+10饥饿值)","C.矿泉水(+25水分)"};
char xuanze;
string paishei;
string shifoujieshu;
int maimai[110];
struct p{
string name;
int ji=100;
int ke=100;
int xl=100;
int waichu=0,jitian;
int sw=0;
}p[5];
void chifan(){
for(int i=1;i<=4;i++){
if(yourenwaichuma!=i&&p[i].sw==0){
cout<<"是(A)否(B)给"<<p[i].name<<"吃的?"<<endl;
cin>>xuanze;
if(xuanze=='A'){
cout<<"吃点什么?(选项)"<<endl;
cin>>xuanze;
for(char j='A';j<=len+65;j++){
if(xuanze==j){
if(j=='A'){
p[i].ji+=15;
p[i].xl+=5;
beibao[1]--;
}
else if(j=='B'){
p[i].ji+=10;
p[i].xl+=10;
beibao[2]--;
}
else if(j=='C'){
p[i].ke+=25;
beibao[3]--;
}
}
}
}
}
}
return;
}
void xiaohao(){
for(int i=1;i<=4;i++){
if(p[i].sw==0){
p[i].ji-=rand()%16;
p[i].ke-=rand()%16;
if(p[i].ji<0){
p[i].ji=0;
p[i].xl-=rand()%21;
}
if(p[i].ke<0){
p[i].ke=0;
p[i].xl-=rand()%21;
}
if(p[i].ke>100){
p[i].ke=100;
}
if(p[i].ji>100){
p[i].ji=100;
}
if(p[i].xl<=0){
p[i].sw=1;
renshu--;
}
if(p[i].xl>100){
p[i].xl=100;
}
}
}
return;
}
void kaitouyu(){
string s="欢迎来到荒岛求生!";
for(int i=0;i<s.size();i++){
cout<<s[i];
Sleep(25);
}
Sleep(975);
system("cls");
s="你现在一共有4人,看你能活几天";
for(int i=0;i<s.size();i++){
cout<<s[i];
Sleep(25);
}
Sleep(975);
system("cls");
s="现在开始吧";
for(int i=0;i<s.size();i++){
cout<<s[i];
Sleep(25);
}
Sleep(975);
system("cls");
cout<<"签约合同:"<<endl;
cout<<"1、一但签约不得反悔;"<<endl;
cout<<"2、如果你活到30天,可得9999元,按Ctrl+z结束这次活动。"<<endl;
cout<<"签约人:(输入4个人的名字)"<<endl;
cin>>p[1].name>>p[2].name>>p[3].name>>p[4].name;
system("cls");
cout<<"正在前往荒岛中";
Sleep(1000);
cout<<"-";
Sleep(1000);
cout<<"-";
Sleep(1000);
cout<<"-";
Sleep(1000);
cout<<"-";
Sleep(1000);
system("cls");
return;
}
bool jieshu(){
if(day>=30){
cout<<"是否结束?"<<endl;
cin>>shifoujieshu;
if(shifoujieshu=="1234567890"){
zhanji++;
jinbi+=9999;
return true;
}
}
return false;
}
void print_zhuangtai(){
cout<<"4人的状态:"<<endl;
for(int i=1;i<=4;i++){
if(p[i].sw==0&&yourenwaichuma!=i) cout<<p[i].name<<":饥饿值:"<<p[i].ji<<" 水分:"<<p[i].ke<<" 血量:"<<p[i].xl<<endl;
else if(p[i].sw==0) cout<<p[i].name<<":外出中"<<endl;
else cout<<p[i].name<<":已死亡"<<endl;
}
cout<<"背包:"<<endl;
for(int i=1;i<=len;i++){
if(beibao[i]>0) cout<<beibao_ming[i]<<":"<<beibao[i]<<" ";
}
cout<<endl;
return;
}
void pairenwaichu(){
cout<<"是否派人外出?A.是B.不是"<<endl;
cin>>xuanze;
cout<<endl;
if(xuanze=='A'){
cout<<"派谁?"<<endl;
cin>>paishei;
for(int i=1;i<=4;i++){
if(paishei==p[i].name&&p[i].sw==0){
p[1].waichu=1;
p[1].jitian=rand()%3+1;
yourenwaichuma=1;
}
}
}
return;
}
void chunhuohou(){
cout<<"你成功的存活了"<<day<<"天,一个商人向你走来……"<<endl;
system("cls");
cout<<"嘿,你要卖东西吗?买(A)不买(B)"<<endl;
cin>>xuanze;
if(xuanze=='A'){
for(char i='A';i<=len+'A';i++){
maimai[i]=rand()%5000+1;
}
cout<<"我有这些:"<<endl;
cout<<"香蕉(A):"<<maimai['A']<<"枚金币"<<endl;
cout<<"苹果(B):"<<maimai['B']<<"枚金币"<<endl;
cout<<"纯净水(C):"<<maimai['C']<<"枚金币"<<endl;
cout<<"你要买什么?(只能买一类,一次*5)"<<endl;
cin>>xuanze;
int xuanze_b=xuanze-'A';
for(char i='A';i<='C';i++){
if(i==xuanze&&jinbi>=maimai[i]){
cout<<"购买成功!"<<endl;
break;
}
}
Sleep(1000);
system("cls");
return;
}
void jieshuyu(string s="你在荒岛中孤独地死去,却没人为你悲伤……"){
for(int i=0;i<s.size();i++){
cout<<s[i];
Sleep(100);
}
Sleep(1900);
return;
}
int main(){
for(;;){
day=1;
kaitouyu();
for(;;day++){
if(yourenwaichuma!=0){
if(p[yourenwaichuma].jitian==0){
p[yourenwaichuma].xl-=rand()%21;
yourenwaichuma=0;
for(int i=1;i<=len;i++){
beibao[i]+=rand()%5;
}
}
else p[yourenwaichuma].jitian--;
}
cout<<"第"<<day<<"天"<<endl;
if(jieshu()) break;
print_zhuangtai();
if(yourenwaichuma==0) pairenwaichu();
chifan();
xiaohao();
system("cls");
if(renshu==0) break;
}
if(renshu==0) break;
else{
chunhuohou();
}
}
jieshuyu();
return 0;
}