嗨嗨害!懒狗蒟蒻来咯!
这次又迎来了懒狗蒟蒻的大更新!
有一下几点更新
1.我更新了存档功能,肝帝的春天!
名字:“.txt”
2.我做了坐标数组,有几个跳转坐标
跳转:
管理:
3.我做了新家具
也做了交互(自己体验)
4.修复了十几个BUG
(自己都数不清了)
5.我添加了注释并通过函数缩码到1107了欧
code:
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<iostream>
#include<time.h>
using namespace std;
int ftn=100/*斧头耐久*/,gtn=100/*稿子耐久*/,ftnd=100,gtnd=100/*耐久max*/,g/*光*/,mt/*木头*/,td/*铁锭*/,sk/*石块*/,x,y/*位置*/,xi,yi,qtx[10]={1},qty[10]={1}/*出生点*/,jq=100000/*金钱*/;
char pdpd,pd/*判断*/,qtpd/*交互层级1*/,qtqtpd/*2*/,qtqtqtpd/*3*/,qnamep/*缓冲字符*/;
bool sfsd/*是否进入商店*/,sfgz/*是否工具台*/,sfjq/*是否集齐*/,sfbox/*是否开箱*/,sfdoor/*是否开门*/,sfsleep/*是否睡觉*/,sfdesk/*是否桌子*/,sfchair/*是否椅子*/,qsf[10]={1};
string ftl="木"/*斧头类型*/,gtl="木"/*镐头类型*/,fkm=" "/*脚下的方块*/,bag[11]={
"无","床","无","无","无","无","无","无","无","无","无"/*背包*/
},qname[11]={
"无","原始点"," "," "," "," "," "," "," "," "," "
},fk[102][102];/*方块*/;
struct desk
{
bool sf/*判断*/;
string thing/*存放*/;
}desk[102][102];//储物桌子
struct box
{
bool sf/*判断*/;
int tn;
string lx/*存放类型*/,fg/*存放斧稿*/;
}box[102][102];//储物箱子
void Read()
{
ifstream in(".txt");
in>>ftn>>gtn>>ftnd>>gtnd>>g>>mt>>td>>sk>>x>>y>>xi>>yi>>jq>>pdpd>>qtpd>>qtqtpd>>qtqtqtpd>>qnamep>>sfsd>>sfgz>>sfjq>>sfbox>>sfdoor>>sfsleep>>sfdesk>>sfchair>>ftl>>gtl;
in>>fkm;
fkm=(fkm=="ww"?" ":fkm);
for(int i=0;i<10;i++)
in>>qtx[i]>>qty[i]>>qsf[i];
for(int i=0;i<=10;i++)
{
in>>qname[i];
qname[i]=(qname[i]=="ww"?" ":qname[i]);
}
for(int i=1;i<=10;i++)
{
in>>bag[i];
bag[i]=(bag[i]=="ww"?" ":bag[i]);
}
for(int i=1;i<=101;i++)
for(int j=1;j<=101;j++)
{
in>>fk[i][j];
fk[i][j]=(fk[i][j]=="ww"?" ":fk[i][j]);
}
for(int i=1;i<=101;i++)
for(int j=1;j<=101;j++)
{
in>>desk[i][j].sf;
in>>desk[i][j].thing;
desk[i][j].thing=(desk[i][j].thing=="ww"?" ":desk[i][j].thing);
}
for(int i=1;i<=101;i++)
for(int j=1;j<=101;j++)
{
in>>box[i][j].sf;
in>>box[i][j].tn;
in>>box[i][j].lx;
box[i][j].lx=(box[i][j].lx=="ww"?" ":box[i][j].lx);
in>>box[i][j].fg;
box[i][j].fg=(box[i][j].fg=="ww"?" ":box[i][j].fg);
}
in.close();
}
//读档
void Save()
{
ofstream out(".txt");
out<<ftn<<" "<<gtn<<" "<<ftnd<<" "<<gtnd<<" "<<g<<" "<<mt<<" "<<td<<" "<<sk<<" "<<x<<" "<<y<<" "<<xi<<" "<<yi<<" "<<jq<<" "<<pdpd<<" "<<qtpd<<" "<<qtqtpd<<" "<<qtqtqtpd<<" "<<qnamep<<" "<<sfsd<<" "<<sfgz<<" "<<sfjq<<" "<<sfbox<<" "<<sfdoor<<" "<<sfsleep<<" "<<sfdesk<<" "<<sfchair<<ftl<<" "<<gtl<<" ";
out<<(fkm==" "?"ww":fkm)<<" ";
for(int i=0;i<10;i++)
out<<" "<<qtx[i]<<" "<<qty[i]<<" "<<qsf[i]<<" ";
for(int i=0;i<=10;i++)
out<<(qname[i]==" "?"ww":qname[i])<<" ";
for(int i=1;i<=10;i++)
out<<(bag[i]==" "?"ww":bag[i])<<" ";
for(int i=1;i<=101;i++)
for(int j=1;j<=101;j++)
out<<(fk[i][j]==" "?"ww":fk[i][j])<<" ";
for(int i=1;i<=101;i++)
for(int j=1;j<=101;j++)
{
out<<desk[i][j].sf<<" ";
out<<(desk[i][j].thing==" "?"ww":desk[i][j].thing)<<" ";
}
for(int i=1;i<=101;i++)
for(int j=1;j<=101;j++)
{
out<<box[i][j].sf<<" ";
out<<box[i][j].tn;
out<<(box[i][j].lx==" "?"ww":box[i][j].lx)<<" ";
out<<(box[i][j].fg==" "?"ww":box[i][j].fg)<<" ";
}
out.close();
}
//存档
void sleep(int a,string b)
{
cout<<b;
Sleep(a);
cout<<".";
Sleep(a);
cout<<".";
Sleep(a);
cout<<".";
Sleep(a);
cout<<".";
Sleep(a);
cout<<".";
Sleep(a);
cout<<".\n";
}
//暂停封装函数
int sfbag()
{
for(int i=1;i<=10;i++)
if(bag[i]=="无")
return i;
return 0;
}
//判断背包空函数
void rand(int j,string f)
{
for(int i=0;i<=j;i++)
{
srand((unsigned)time(NULL));
do
{
int a,b;
a=rand()%101;
b=rand()%101;
if(fk[a][b]==" ")
{
fk[a][b]=f;
break;
}
}
while(1);
}
}
//随机生成函数
void xf(string l,int &n,int d)
{
n+=30;
if(n>d)
n=d;
if(l=="木")
if(mt>0)
{
mt-=1;
sleep(30,"正在为您修复中");
}
else
cout<<"木材不够\n";
if(l=="石")
if(sk>0)
{
sk-=1;
sleep(30,"正在为您修复中");
}
else
cout<<"石块不够\n";
if(l=="铁")
if(td>0)
{
td-=1;
sleep(30,"正在为您修复中");
}
else
cout<<"铁锭不够\n";
}
//工作台修复工具
void broke_it(bool sf)
{
if(sf)
if(!sfbag())
cout<<"背包满溢";
else
{
bag[sfbag()]=fk[x+xi][y+yi];
fk[x+xi][y+yi]=" ";
qtpd=0;
qtqtpd=0;
qtqtqtpd=0;
}
else
fk[x+xi][y+yi]=" ";
}
//互动时删除
void printf()
{
for(int i=1;i<=13;i++)
cout<<"* ";
cout<<" "<<ftl<<"斧\n";
for(int xx=x-5;xx<=x+5;xx++)
{
cout<<"* ";
for(int yy=y-5;yy<=y+5;yy++)
if(xx>101||xx<1||yy>101||yy<1)
cout<<"界";
else
cout<<fk[xx][yy];
cout<<"*";
if(xx+6-x==1)
cout<<" 耐久度:"<<ftn;
if(xx+6-x==2)
cout<<" "<<gtl<<"镐";
if(xx+6-x==3)
cout<<" 耐久度:"<<gtn;
if(xx+6-x>=4&&xx+6-x<=8)
cout<<" "<<xx-x+2<<"、背包第"<<xx-x+3<<"格:"<<bag[xx-x+3]<<" "<<xx-x+7<<"、背包第"<<xx-x+8<<"格:"<<bag[xx-x+8];
if(xx+6-x==9)
cout<<" /:木:"<<mt;
if(xx+6-x==10)
cout<<" *:石:"<<sk;
if(xx+6-x==11)
cout<<" -:铁:"<<td;
cout<<"\n";
}
for(int i=1;i<=13;i++)
cout<<"* ";
cout<<" 金钱:"<<jq<<" ";
if(sfjq)
cout<<"已拥有光之力";
else
cout<<"光之力:"<<g;
cout<<endl<<"脚下物品:"<<(fkm==" "?"无":fkm)<<endl;
}
//输出函数
void dig(int &tn,string lx,string gf)
{
int time;
if(sfjq)
if(ftn>0)
time=1;
else
time=30;
tn-=1;
if(lx=="木")
time=20;
if(lx=="石")
time=10;
if(lx=="矿")
time=5;
if(lx=="无")
{
cout<<"您手无寸铁,挖掘过程需要等待\n";
time=30;
}
else
cout<<"你使用了"<<lx<<gf<<",耐久度减一\n";
sleep(time,"正在为您挖掘中");
broke_it(0);
}
//挖掘函数
void move(int xj,int yj)
{
xi=xj;
yi=yj;
if(x+xj!=0&&y+yj!=0&&x+xj!=102&&y+yj!=102)
{
if(fk[x+xj][y+yj]==" ")
{
fk[x][y]=fkm;
fkm=" ";
fk[x+xj][y+yj]="我";
x+=xj;
y+=yj;
}
//移动
else
{
if(fk[x+xj][y+yj]=="工")
sfgz=1;
if(fk[x+xj][y+yj]=="商"||fk[x+xj][y+yj]=="店")
sfsd=1;
if(fk[x+xj][y+yj]=="箱"&&sfbox==0)
sfbox=1;
if(fk[x+xj][y+yj]=="门"&&sfdoor==0)
sfdoor=1;
if(fk[x+xj][y+yj]=="床"&&sfsleep==0)
sfsleep=1;
if(fk[x+xj][y+yj]=="桌"&&sfdesk==0)
sfdesk=1;
if(fk[x+xj][y+yj]=="椅"&&sfchair==0)
sfchair=1;
if(fk[x+xj][y+yj]=="铁")
{
td=td+1;
fk[x+xj][y+yj]=" ";
}
if(fk[x+xj][y+yj]=="砖")
{
sk=sk+1;
fk[x+xj][y+yj]=" ";
}
if(fk[x+xj][y+yj]=="木")
{
mt=mt+1;
fk[x+xj][y+yj]=" ";
}
if(fk[x+xj][y+yj]=="光")
if(sfjq)
{
ftn+=6;
gtn+=3;
rand(1,"光");
}
if(fk[x+xj][y+yj]=="矿")
{
td=td+1;
rand(1,"矿");
}
if(fk[x+xj][y+yj]=="石")
{
sk=sk+1;
rand(1,"石");
}
if(fk[x+xj][y+yj]=="树")
{
mt=mt+1;
rand(1,"树");
}
//互动判断
if(fk[x+xj][y+yj]=="树"||fk[x+xj][y+yj]=="木")
dig(ftn,ftl,"斧");
if(fk[x+xj][y+yj]=="矿"||fk[x+xj][y+yj]=="石"||fk[x+xj][y+yj]=="铁"||fk[x+xj][y+yj]=="砖")
dig(gtn,gtl,"镐");
//挖掘其他
if(fk[x+xj][y+yj]=="光")
if(sfjq)
{
if(gtn>0)
{
dig(gtn,gtl,"镐");
gtn+=6;
ftn+=3;
}
else
{
dig(gtn,gtl,"镐");
gtn+=6;
ftn+=3;
}
rand(1,"光");
}
else
if(gtl=="铁")
{
dig(gtn,gtl,"镐");
g++;
}
//挖掘光
}
}
}
//移动函数
void make(string &tl,string lastl,string l,string gf,string zyname,int &tnd,int tnds,int zys,int &zy)
{
if(tl==lastl)
if(zy>=zys)
{
tl=l;
tnd=tnds;
zy-=zys;
sleep(30,"正在为您制作中");
}
else
cout<<zyname<<"不够\n";
else
if(tl=="无"||tl==lastl)
cout<<"没有"<<lastl<<gf<<"\n";
else
cout<<"背包满溢\n";
}
//制作函数
void sd3j(int q,string wp)
{
if(jq<q)
cout<<"金钱不够\n";
else
{
if(sfbag())
{
sleep(30,"正在为您交易中");
bag[sfbag()]=wp;
jq-=q;
return;
}
}
cout<<"背包满溢";
}
//买家具函数
void sd3k(int q,int &zy)
{
if(jq<q)
cout<<"金钱不够\n";
else
{
sleep(30,"正在为您交易中");
jq-=q;
zy+=1;
}
}
//买资源函数
void sd4j(int q,string wp)
{
int a;
for(a=1;a<=10;a++)
if(bag[a]==wp)
{
bag[a]="无";
a=0;
sleep(30,"正在为您交易中");
jq+=q;
return;
}
cout<<"变卖失败\n";
}
//卖家具函数
void sd4k(int q,int &zy)
{
if(zy<=0)
cout<<"变卖失败\n";
else
{
sleep(30,"正在为您交易中");
zy--;
jq+=q;
}
}
//卖资源函数
void mm(void (*sdj)(int q,string wp),void (*sdk)(int q,int &zy),int b)
{
switch(qtqtpd)
{
case '1':
sdk(2/b,mt);
break;
case '2':
sdk(4/b,sk);
break;
case '3':
sdk(6/b,td);
break;
case '4':
sdj(10/b,"椅");
break;
case '5':
sdj(20/b,"桌");
break;
case '6':
sdj(30/b,"床");
break;
case '7':
sdj(40/b,"门");
break;
case '8':
sdj(50/b,"箱");
break;
}
}
//买卖函数
void peq()
{
cout<<"0."<<qname[1]<<"\n";
cout<<"1."<<qname[2]<<"\n";
cout<<"2."<<qname[3]<<"\n";
cout<<"3."<<qname[4]<<"\n";
cout<<"4."<<qname[5]<<"\n";
cout<<"5."<<qname[6]<<"\n";
cout<<"6."<<qname[7]<<"\n";
cout<<"7."<<qname[8]<<"\n";
cout<<"8."<<qname[9]<<"\n";
cout<<"9."<<qname[10]<<"\n";
}
//跳转出生点输出
void psd(int b)
{
cout<<"金钱:"<<jq<<"\n";
cout<<"退出:ESC\n";
cout<<"1.木:"<<2/b<<"块:"<<mt<<"\n";
cout<<"2.石:"<<4/b<<"块:"<<sk<<"\n";
cout<<"3.铁:"<<6/b<<"块:"<<td<<"\n";
cout<<"4.椅:"<<10/b<<"块\n";
cout<<"5.桌:"<<20/b<<"块\n";
cout<<"6.床:"<<30/b<<"块\n";
cout<<"7.门:"<<40/b<<"块\n";
cout<<"8.箱:"<<50/b<<"块\n";
qtqtpd=_getch();
system("cls");
}
//商店输出
void put(int &zy,string fkM,string ts)
{
if(fkm!=" ")
cout<<"你的脚下已有方块";
else
if(zy>0)
{
zy-=1;
fkm=fkM;
sleep(30,"正在为您放置中");
}
else
cout<<ts<<"不足";
}
//放置函数
void put_desk(int &zy,string wp)
{
desk[x+xi][y+yi].sf=1;
desk[x+xi][y+yi].thing=wp;
zy--;
}
//往桌子上放置
void put_box(string &lx,string fg,int &tn)
{
box[x+xi][y+yi].sf=1;
box[x+xi][y+yi].lx=lx;
box[x+xi][y+yi].tn=tn;
box[x+xi][y+yi].fg=fg;
lx="无";
tn=0;
}
//往箱子里放置
void getbox(string &tl,int &tn)
{
if(tl=="无")
{
tl=box[x+xi][y+yi].lx;
tn=box[x+xi][y+yi].tn;
box[x+xi][y+yi].lx=" ";
box[x+xi][y+yi].fg=" ";
box[x+xi][y+yi].tn=0;
box[x+xi][y+yi].sf=0;
}
}
//拿下箱子
int main()
{
system("color F0");
//换色
//system("pause");
//教程
for(int i=1;i<102;i++)
for(int j=1;j<102;j++)
{
desk[i][j].sf=0;
desk[i][j].thing=" ";
box[i][j].sf=0;
box[i][j].lx=" ";
box[i][j].fg=" ";
fk[i][j]=" ";
}
fk[1][1]="商";
fk[1][2]="店";
fk[2][1]="工";
x=2;
y=2;
rand(75,"树");
rand(50,"石");
rand(25,"矿");
rand(5,"光");
//初始化
Read();
//开始读取
fk[x][y]="我";
while(pd!=27)
{
pdpd=pd;
if(!sfjq&&ftl=="铁"&>l=="铁"&&g==5)
{
rand(25,"光");
sfjq=1;
g=0;
ftl="光";
gtl="光";
}
if(ftn<=0&&ftl!="光")
{
ftl="无";
ftn=0;
ftnd=0;
}
if(ftl=="光")
ftnd+=30;
if(gtn<=0&>l!="光")
{
gtl="无";
gtn=0;
gtnd=0;
}
if(gtl=="光")
gtnd+=30;
//对光的判断
system("cls");
//清屏
if(sfgz)
{
sfgz=0;
do
{
qtpd=0;
do
{
system("cls");
cout<<"制作:1\n拆除该方块:2\n"<<(sfjq?"":"修复:3\n")<<"退出:ESC\n";
qtpd=_getch();
system("cls");
if(qtpd==27)
break;
}
while(qtpd!='1'&&qtpd!='2'&&qtpd!='3');
qtqtpd=27;
if(qtpd=='1')
do
{
system("cls");
cout<<"1.木斧:2块木头\n";
cout<<"2.木镐:3块木头\n";
cout<<"3.石斧:一把木斧加上2块石头\n";
cout<<"4.石镐:一把木镐加上3块石头\n";
cout<<"5.铁斧:一把木斧加上2块铁锭\n";
cout<<"6.铁镐:一把木镐加上3块铁锭\n";
cout<<"7.工作台:3块木头\n";
cout<<"ESC键:退出\n";
cout<<"你要制作?\n";
qtqtpd=_getch();
switch(qtqtpd)
{
case '1':
make(ftl,"无","木","斧","木材",ftnd,100,2,mt);
break;
case '2':
make(gtl,"无","木","镐","木材",gtnd,100,3,mt);
break;
case '3':
make(ftl,"木","石","斧","石头",ftnd,200,2,sk);
break;
case '4':
make(gtl,"木","石","镐","石头",gtnd,200,3,sk);
break;
case '5':
make(ftl,"石","铁","斧","铁锭",ftnd,300,2,td);
break;
case '6':
make(gtl,"石","铁","镐","铁锭",gtnd,300,3,td);
break;
case '7':
if(mt>=3)
if(!sfbag())
cout<<"背包满溢";
else
{
bag[sfbag()]="工";
sleep(30,"正在为您制作中");
}
else
cout<<"木头不够\n";
break;
}
}
while(qtqtpd!=27);
if(qtpd=='2')
{
broke_it(1);
break;
continue;
}
if(qtpd=='3'&&!sfjq)
{
do
{
system("cls");
qtqtpd=27;
if(ftn!=ftnd)
{
cout<<"1."<<ftl<<"斧:"<<ftn<<"\n";
cout<<"2."<<gtl<<"镐:"<<gtn<<"\n";
cout<<"ESC键:退出\n";
cout<<"注:一个资源可修复30耐久度\n";
cout<<"你要修复?\n";
qtqtpd=_getch();
xf(ftl,ftn,ftnd);
continue;
}
if(ftn==ftnd&>n!=gtnd)
{
cout<<"1."<<gtl<<"镐:"<<gtn<<"\n";
cout<<"ESC键:退出\n";
cout<<"注:一个资源可修复30耐久度\n";
cout<<"你要修复?";
qtqtpd=_getch();
xf(gtl,gtn,gtnd);
}
}
while(qtqtpd!=27);
}
}
while(qtpd!=27);
system("cls");
}
//工作台
if(sfsd)
{
sfsd=0;
do
{
do
{
system("cls");
cout<<"金钱:"<<jq<<"\n买:1\n卖:2\n退出:ESC\n";
qtpd=_getch();
system("cls");
if(qtpd==27)
break;
}
while(qtpd!='1'&&qtpd!='2');
qtqtpd=27;
do
{
system("cls");
if(qtpd=='1')
psd(1);
if(qtpd=='2')
psd(2);
if(qtpd=='1')
mm(sd3j,sd3k,1);
if(qtpd=='2')
mm(sd4j,sd4k,2);
}
while(qtqtpd!=27);
}
while(qtpd!=27);
system("cls");
}
//商店
if(sfbox)
{
do
{
system("cls");
cout<<"<--.拆除箱子\nESC.离开\n其他键.放东西\n";
qtpd=_getch();
if(qtpd!=8&&qtpd!=27)
{
do
{
if(qtpd!=27)
{
system("cls");
cout<<"╔════╗\n║"<<box[x+xi][y+yi].lx<<box[x+xi][y+yi].fg<<"║\n╚════╝\n";
if(box[x+xi][y+yi].sf)
{
cout<<"ESC.退出\n其他键.拿下\n";
qtqtpd=_getch();
if(qtqtpd!=27&&box[x+xi][y+yi].lx!="无")
{
if(box[x+xi][y+yi].fg=="斧")
getbox(ftl,ftn);
if(box[x+xi][y+yi].fg=="镐")
getbox(gtl,gtn);
}
}
else
{
if(ftl!="无")
{
cout<<"放置\n";
cout<<"1."<<ftl<<"斧\n";
if(gtl!="无")
cout<<"2."<<gtl<<"镐\n";
cout<<"其他键.退出";
qtqtpd=_getch();
if(qtqtpd=='1')
put_box(ftl,"斧",ftn);
if(qtqtpd=='2'&>l!="无")
put_box(gtl,"镐",gtn);
}
else
if(gtl!="无")
{
cout<<"放置\n";
cout<<"1."<<gtl<<"镐\n";
cout<<"其他键.退出";
qtqtpd=_getch();
if(qtqtpd=='1')
put_box(ftl,"斧",ftn);
}
}
}
}
while(qtqtpd!=27);
}
if(qtpd==8)
{
if(!desk[x+xi][y+yi].sf)
broke_it(1);
else
qtpd=0;
}
}
while(qtpd!=27&&qtpd!=8);
system("cls");
sfbox=0;
}
//箱子
if(sfdoor)
{
cout<<"<--.拆除门\nESC.退出\n其他键.通过\n";
qtpd=_getch();
if(qtpd==8)
broke_it(1);
else
if(qtpd!=27)
{
broke_it(0);
move(xi,yi);
fkm="门";
move(xi,yi);
}
system("cls");
sfdoor=0;
}
//门
if(sfsleep)
{
system("color 07");
cout<<"\n\n\n\n 睡觉时间\n";
cout<<"<--.拆除床\n其他键.起床\n";
qtpd=_getch();
if(qtpd==8)
broke_it(1);
system("color F0");
system("cls");
sfsleep=0;
}
//床
if(sfdesk)
{
do
{
system("cls");
cout<<"<--.拆除桌子\nESC.离开\n其他键.放东西\n";
qtpd=_getch();
if(qtpd!=8&&qtpd!=27)
{
do
{
if(qtpd!=27)
{
system("cls");
cout<<"╔══╗\n║"<<desk[x+xi][y+yi].thing<<"║\n╚══╝\n";
if(desk[x+xi][y+yi].sf)
{
cout<<"ESC.退出\n其他键.拿下\n";
qtqtpd=_getch();
if(qtqtpd!=27)
{
desk[x+xi][y+yi].sf=0;
if(desk[x+xi][y+yi].thing=="木")
mt++;
if(desk[x+xi][y+yi].thing=="石")
sk++;
if(desk[x+xi][y+yi].thing=="铁")
td++;
desk[x+xi][y+yi].thing=" ";
}
}
else
{
cout<<"其他键.退出\n1.放置木头\n2.放置石块\n3.放置铁锭\n";
qtqtpd=_getch();
if(qtqtpd!=27)
{
switch(qtqtpd)
{
case '1':
put_desk(mt,"木");
break;
case '2':
put_desk(sk,"石");
break;
case '3':
put_desk(td,"铁");
break;
}
}
}
}
}
while(qtqtpd!=27);
}
if(qtpd==8)
{
if(!desk[x+xi][y+yi].sf)
broke_it(1);
else
qtpd=0;
}
}
while(qtpd!=27&&qtpd!=8);
system("cls");
sfdesk=0;
}
//桌子
if(sfchair)
{
system("color A0");
cout<<"\n\n\n\n 看向窗外\n";
cout<<"<--.拆除椅子\n其他键.起身\n";
qtpd=_getch();
if(qtpd==8)
broke_it(1);
system("color F0");
system("cls");
sfchair=0;
}
//椅子
printf();
pd=_getch();
if(pd==81||pd==87||pd==69||pd==65||pd==83||pd==68||pd==90)
pd+=32;
switch((int)pd)
{
case 27:
{
system("cls");
sleep(500,"正在为您退出中");
}
break;
case 119:
move(-1,0);
break;
case 115:
move(1,0);
break;
case 97:
move(0,-1);
break;
case 100:
move(0,1);
break;
//移动
case 101:
{
system("cls");
cout<<"转至\n";
peq();
qtpd=_getch();
if(qtpd>='0'&&qtpd<='9')
{
if(qsf[qtpd-'0'])
{
fk[x][y]=" ";
x=qtx[qtpd-'0'];
y=qty[qtpd-'0'];
fk[x][y]="我";
}
}
}
break;
//出生点跳转
case 113:
{
do
{
system("cls");
cout<<"1.创建\n";
cout<<"2.删除\n";
cout<<"3.交换\n";
cout<<"ESC.退出\n";
qtpd=_getch();
system("cls");
switch(qtpd-'0')
{
case 1:
{
for(int i=0;i<10;i++)
{
if(!qsf[i])
{
system("cls");
cout<<"输入你的位置名字(esc终止)\n";
cout<<"ESC.退出\n";
do
{
qname[i+1]+=qnamep;
qnamep=_getch();
cout<<qnamep;
}
while(qnamep!=27);
if(qname[i+1][0]==27)
qname[i+1]="";
else
{
qsf[i]=1;
qtx[i]=x;
qty[i]=y;
}
break;
}
}
}
break;
//创建
case 2:
{
do
{
system("cls");
cout<<"你要删除那个\n";
cout<<"ESC.退出\n";
peq();
qtqtpd=_getch();
int j=qtqtpd-'0';
qsf[j]=0;
qtx[j]=0;
qty[j]=0;
qname[j+1]="";
}
while(qtpd!=1);
}
break;
//删除
case 3:
{
do
{
system("cls");
cout<<"你要交换那个\n";
peq();
char qtqtpd1,qtqtpd2;
qtqtpd1=_getch();
if(qtqtpd1==27)
break;
else
{
cout<<qtqtpd1<<" ";
qtqtpd2=_getch();
cout<<qtqtpd1;
int j1=qtqtpd1-'0',j2=qtqtpd2-'0';
int i1,i2;
i1=qtx[j1];
qtx[j1]=qtx[j2];
qtx[j2]=i1;
i2=qty[j1];
qty[j1]=qty[j2];
qty[j2]=i2;
string s;
s=qname[j1+1];
qname[j1+1]=qname[j2+1];
qname[j2+1]=s;
bool b;
b=qsf[j1];
qsf[j1]=qsf[j2];
qsf[j2]=b;
}
}
while(1);
}
break;
//交换
}
}
while(qtpd!=27);
}
break;
//出生点编辑
case '/':
put(mt,"木","木头");
break;
case '*':
put(sk,"石","石头");
break;
case '-':
put(td,"铁","铁锭");
break;
default :
{
if(pd>=48&&pd<=57)
if(fkm!=" ")
cout<<"你的脚下已有方块";
else
{
if(bag[pd-47]=="无")
cout<<"没有物品";
else
{
fkm=bag[pd-47];
bag[pd-47]="无";
sleep(30,"正在为您放置中");
}
}
}
//放置
}
}
Save();//结尾保存
return 0;
}
BaY