//测试版 2.1.3
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
include [HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
define HD 29
using namespace std;
int hp=100,bsd=100,water=100,nl=100;
bool han=0;int fire=0;
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
string name[100]={“0”,”木条”,”木板”,”石头”,”碎石”,”平滑石”,”捕鱼笼”,”捕兽夹”,”苹果”,”浆果”,”皮毛”,”生肉”,”熟肉”,”木桶”,”装有水的木桶”,”船”,”火把”,”藤蔓”,”弓”,”石剑”,”地图碎片”,”地图”,”磁石”,”指南针”,”石斧”,”生鱼”,”熟鱼”,”金币”,”铁锭”,”金锭”};
int num[100];
///////////////////////
int animal;//是否探索到野兽小径 1探索到了 0没有探索到
/////////////////////////
int berry;//是否探索到浆果地 1探索到了 0没有探索到
int berry_time=10;
int YNberry;//berry_time:浆果的状态berry_time>=10时浆果成熟 YNberry:浆果是否种植1种植了0没种植
////////////////////
int brook;//是否探索到小溪 1探索到了 0没探索到
int fcageplace;//捕鱼笼数量(已放置)
int acageplace;//捕兽夹数量(已放置)
int YNcatchfish;//是否捕到鱼(大于等于10时,每个捕鱼笼有几率获得3~6条鱼)
int YNcatchanimal;//是否捕到野兽(大于等于20时,每个捕鱼笼有几率获得3~5块肉)
///////////////////
int hand[100];
int YNenergy=1;
int fmenu=1;
char choose;
/////////////////////////
void print(char a[]);
void juqin();
void login();
void home();
void bag();
void table();
void gotable();
void goberry();
void gobrook();
void goanimal();
void main_menu();
void empty();
//////////////////////////
int main(){
// for(int i=1;i<=HD;i){
// hand[i]=100;
// }
// han=1;
srand(time(NULL));
system(“color 0E”);
system(“MODE CON COLS=30 LINES=10”);
srand(time(NULL));
system(“title 秘境”);
cout<<”剧情?输入1:\n”;
int t;
cin>>t;
if(t==1)juqin();
system(“cls”);
print(” 秘境”);
print(“诚享传奇出品”);
system(“pause”);
system(“cls”);
print(“陈程,段鉴泽出品”);
system(“pause”);
login();
system(“MODE CON COLS=60 LINES=40”);
home();
return 0;
}
void empty(){
hp=bsd=water=nl=100;
memset(num,0,sizeof(0));
memset(hand,0,sizeof(0));
han=fire=animal=berry=YNberry=brook=fcageplace=acageplace=YNcatchfish=YNcatchanimal=0;
berry_time=10;
}
void print(char a[]){
for(int i=0;i[HTML_REMOVED]=10 && berry==1){
cout<<”浆果已成熟!”<[HTML_REMOVED]=10 && brook==1){
cout<<”捕鱼笼已捕到鱼!”<[HTML_REMOVED]=20 && animal==1){
cout<<”捕兽夹已捕到猎物!”<[HTML_REMOVED]=15) cout<<”3 收集”<[HTML_REMOVED]=8&&fire==0)cout<<”8 钻木取火”<[HTML_REMOVED]=2&&fire==1)cout<<”9 加柴火”<[HTML_REMOVED]=1) cout<<”10 将石头摔成碎石”<[HTML_REMOVED]=1) cout<<”14 将石头烤成平滑石”<[HTML_REMOVED]=1) cout<<”15 食用浆果(回复5口渴度,5饱食度)”<[HTML_REMOVED]=1) cout<<”16 将生鱼烤成熟鱼”<[HTML_REMOVED]=1) cout<<”17 吃熟鱼(回复8饱食度)”<[HTML_REMOVED]=15 && hand[16]>=50 && nl>=30) cout<<”18 挖矿(花费15块熟肉,50根火把)”<[HTML_REMOVED]=1) cout<<”20 将生肉烤成熟肉”<[HTML_REMOVED]=1) cout<<”21 吃熟肉(回复12饱食度)”<[HTML_REMOVED]=10 && fire>0) cout<<”22 点燃木条(10根)做成2根火把”<[HTML_REMOVED]>t;
if(t==0){
main_menu();
system(“MODE CON COLS=60 LINES=40”);
}
if(t==1){
for(int i=1;i<=HD;i)
num[i]+=hand[i],hand[i]=0;
han=0;
YNenergy=0;
}else if(t==2){
bag();
YNenergy=0;
}else if(t==3){
if(nl>=15){
system(“cls”);
print(“你到森林里收集了一点木条和石头”);
num[1]+=rand()%10;
num[3]+=rand()%3;
nl-=15;
YNenergy=1;
}else{
system(“cls”);
print(“耐力不够!”);
YNenergy=0;
}
system(“pause”);
}else if(t==4){
system(“cls”);
int tsRand=rand()%100;
if(tsRand>=11 && tsRand<=15 && brook==0){
print(“哗哗哗”);
print(“你发现了一条小溪”);
brook=1;
system(“pause”);
}else if(tsRand<=10 && berry==0){
print(“你发现了一片浆果地”);
berry=1;
system(“pause”);
}else if(tsRand>=16 && tsRand<=20 && animal==0){
print(“你发现了一条野兽小径”);
animal=1;
system(“pause”);
}else if(tsRand>20){
print(“你什么也没探索到”);
system(“pause”);
}
YNenergy=1;
}else if(t==5){
system(“cls”);
cout<<”休息中”<[HTML_REMOVED]=100){
system(“cls”);
cout<<”耐力满了”<[HTML_REMOVED]=10 && hand[1]>=8){
nl-=10;
system(“cls”);
hand[1]-=8;
fire;
print(“火堆燃烧起来了”);
YNenergy=1;
system(“pause”);
}else if(nl<10){
print(“耐力不够!”);
YNenergy=0;
system(“pause”);
}else if(hand[1]<8){
print(“木条不够!”);
system(“pause”);
YNenergy=0;
}
}else if(t==9){
if(hand[1]>=2){
system(“cls”);
hand[1]-=2;
fire;
print(“火堆熊熊燃烧”);
system(“pause”);
YNenergy=1;
}else if(hand[1]<2){
print(“木条不够!”);
YNenergy=0;
system(“pause”);
}
}else if(t==10){
if(hand[3]>=1 && nl>=10){
nl-=10;
hand[3]–;
hand[4]+=rand()%3+1;
YNenergy=1;
}
}else if(t==11 && brook==1){
gobrook();
YNenergy=1;
}else if(t==12 && berry==1){
goberry();
YNenergy=1;
}else if(t==13){
gotable();
YNenergy=0;
}else if(t==14){
if(hand[3]>=1){
system(“cls”);
print(“烧烤中”);
Sleep(3000);
hand[3]–;
hand[5];
}
YNenergy=0;
}else if(t==15){
if(hand[9]>=1){
hand[9]–;
water+=5;
bsd+=5;
if(water>100){
water=100;
}
if(bsd>100){
bsd=100;
}
}
YNenergy=0;
}else if(t==16){
if(hand[25]>=1){
system(“cls”);
print(“烧烤中”);
Sleep(3000);
hand[25]–;
hand[26];
}
YNenergy=0;
}else if(t==17){
if(hand[26]>=1){
hand[26]–;
bsd+=8;
}
if(bsd>=100){
system(“cls”);
cout<<”饱食度满了”<[HTML_REMOVED]=15 && hand[16]>=50 && nl>=30){
hand[12]-=15;
hand[16]-=50;
nl-=30;
system(“cls”);
print(“挖掘中”);
Sleep(5000);
hand[28]+=rand()%10+5;
hand[29]+=rand()%5+3;
}
}else if(t==19 && animal==1){
goanimal();
YNenergy=1;
}else if(t==20){
if(hand[11]>=1){
system(“cls”);
print(“烧烤中”);
Sleep(3000);
hand[11]–;
hand[12];
YNenergy=0;
}
}else if(t==21){
if(hand[12]>=1){
hand[12]–;
bsd+=12;
}
if(bsd>=100){
system(“cls”);
cout<<”饱食度满了”<[HTML_REMOVED]=10 && fire>0){
system(“cls”);
print(“点燃中”);
Sleep(1500);
hand[16]+=2;
hand[1]-=10;
YNenergy=0;
}
}
if(fcageplace>0) YNcatchfish;
if(acageplace>0) YNcatchanimal;
if(YNberry==1) berry_time;
if(YNenergy==1) bsd–,water–;
han=0;for(int i=1;i<=26;i){if(hand[i]!=0){han=1;break;}}
if(hp<=0||bsd<=0||water<=0)break;
}
if(hp<=0||bsd<=0||water<=0){
system(“cls”);
print(“你死了......”);
Sleep(3000);
print(“我就说没有人能活下来,呵呵......”);
Sleep(3000);
system(“cls”);
print(“GAME OVER”);
Sleep(5000);
return;
}else{
system(“cls”);
print(“你居然活了下来,呵呵......”);
Sleep(3000);
system(“cls”);
print(“GAME OVER”);
Sleep(5000);
}
mama:exit(0);
}
void bag(){
system(“cls”);
while(1){
system(“cls”);
cout<<”0 返回|g a b 丢弃编号为a的物品b件|p a b拿出编号为a的物品b件”<[HTML_REMOVED]=y)num[x]-=y;
}
else{
han=1;
int x,y;
scanf(“%d%d”,&x,&y);
if(num[x]>=y){
hand[x]+=y;
num[x]-=y;
}
}
}
login();
}
void login(){
int t=0;
while(t<100){
system(“cls”);
t;
cout<<”加载中 “<[HTML_REMOVED]=1 && fcageplace<10) print(“2 放置捕鱼笼”);
if(fcageplace>=1 && YNcatchfish>=10) print(“3 查看捕鱼笼”);
///////////////////////////////////////
int brookt;
scanf(“%d”,&brookt);
if(brookt==0){
return;
}
if(brookt==1){
system(“cls”);
printf(“咕嘟嘟”);
Sleep(5000);
water+=10;
if(water>100){
system(“cls”);
printf(“口渴度满了\n”);
water=100;
system(“pause”);
}
}
//////////////////////////
if(brookt==2){
system(“cls”);
if(hand[6]>=1 && fcageplace<10){
hand[6]–;
fcageplace;
}else if(hand[6]<1){
system(“cls”);
print(“你还没有捕鱼笼!”);
system(“pause”);
}else if(fcageplace==10){
system(“cls”);
print(“捕鱼笼已满!”);
system(“pause”);
}
}
if(brookt==3){
system(“cls”);
if(fcageplace>=1 && YNcatchfish>=10){
hand[25]+=fcageplace*(rand()%2+1);
YNcatchfish=0;
}else if(fcageplace<1){
system(“cls”);
print(“你还未放置捕鱼笼!”);
system(“pause”);
}else if(YNcatchfish<10){
system(“cls”);
print(“捕鱼笼没有捕到东西!”);
system(“pause”);
}
}
}
}
void gotable(){
while(1){
system(“cls”);
print(“0. 返回”);
if(hand[1]>=20 && hand[5]>=5 && hand[4]>=10 && hand[9]>=3 && hand[3]>=5){
print(“1. 合成捕兽夹”);
}
if(hand[1]>=15 && hand[3]>=3 && hand[5]>=3 && hand[9]>=2 && hand[4]>=20){
print(“2. 合成捕鱼笼”);
}
if(hand[1]>=10 && hand[5]>=3){
print(“3. 合成石斧”);
}
if(hand[3]>=15 && hand[5]>=5 && hand[1]>=10){
print(“4. 合成石剑”);
}
int tablet;
scanf(“%d”,&tablet);
if(tablet==0){
return;
}if(tablet==1){
if(hand[1]>=20 && hand[5]>=5 && hand[4]>=10 && hand[9]>=3 && hand[3]>=5){
hand[1]-=20;
hand[5]-=5;
hand[4]-=10;
hand[9]-=3;
hand[3]-=5;
hand[7];
}else if(hand[1]<15 || hand[3]<3 || hand[5]<3 || hand[9]<2 || hand[4]<20){
system(“cls”);
print(“材料不足!”);
system(“pause”);
}
}
if(tablet==2){
if(hand[1]>=15 && hand[3]>=3 && hand[5]>=3 && hand[9]>=2 && hand[4]>=20){
hand[1]-=15;
hand[3]-=3;
hand[5]-=3;
hand[9]-=2;
hand[4]-=20;
hand[6]++;
}else if(hand[1]<20 || hand[5]<5 || hand[4]<10 || hand[9]<3 || hand[3]<5){
system(“cls”);
print(“材料不足!”);
system(“pause”);
}
}
if(tablet==3){
if(hand[1]>=10 && hand[5]>=3){
hand[1]-=10;
hand[5]-=3;
hand[24]++;
}else if(hand[1]<10 || hand[5]<3){
system("cls");
print("材料不足!");
system("pause");
}
}
if(tablet==4){
if(hand[3]>=15 && hand[5]>=5 && hand[1]>=10){
hand[1]-=10;
hand[5]-=5;
hand[3]-=15;
hand[19]++;
}else if(hand[1]<15 || hand[5]<5 || hand[1]<10){
system("cls");
print("材料不足!");
system("pause");
}
}
}
}
void goberry(){
while(1){
system(“cls”);
print(“0 返回”);
print(“1. 采集浆果”);
print(“2 种植浆果(花费5个浆果)”);
int berryt;
scanf(“%d”,&berryt);
if(berryt==0){
return;
}
if(berryt==1){
if(berryt==1 && berry_time>=10){
hand[9]+=rand()%4+6;
han=1;
YNberry=0;
berry_time=0;
}else if(berry_time<10){
system(“cls”);
print(“浆果地已经采集过了!”);
system(“pause”);
}
}else if(berryt==2){
if(berryt==2 && YNberry==0 && hand[9]>=5){
YNberry=1;
hand[9]-=5;
}else if(YNberry==1){
system(“cls”);
print(“浆果地已经种植过了!”);
system(“pause”);
}else if(hand[9]<5){
print(“浆果不够!”);
}
}
}
}
void goanimal(){
while(1){
system(“cls”);
print(“0 返回”);
if(hand[7]>=1 && acageplace<10) print(“1 放置捕兽夹”);
if(acageplace>=1 && YNcatchanimal>=20) print(“2 查看捕兽夹”);
////////////////////////////
int animalt;
scanf(“%d”,&animalt);
if(animalt==0){
return;
}
/////////////////////
if(animalt==1){
system(“cls”);
if(acageplace==10){
system(“cls”);
print(“捕兽夹已满!”);
system(“pause”);
}else if(hand[7]>=1 && acageplace<10){
hand[7]–;
acageplace++;
}else if(hand[7]<1){
system(“cls”);
print(“你还没有捕兽夹!”);
system(“pause”);
}
}
if(animalt==2){
system(“cls”);
if(acageplace>=1 && YNcatchanimal>=20){
hand[11]+=acageplace*(rand()%2+2);
YNcatchanimal=0;
}else if(acageplace<1){
system(“cls”);
print(“你还未放置捕兽夹!”);
system(“pause”);
}else if(YNcatchanimal<20){
system(“cls”);
print(“捕兽夹没有捕到东西!”);
system(“pause”);
}
}
}
}