前言
大家期待已久的c++代码实现我的世界又来了。今天我们继续deleteblock函数。
deleteblock()函数
首先是回顾,
回顾
上期我们写到了:
struct things{
int lei,num;
}thing[100000000],thing2[100000000];
struct bagpack{
things things_in_bag[40];
};
struct stef_of_thing{
bagpack bag;
string username;
int x,y,z;
int jump,allhart,nowhart,goodh,hj;
int fuud,hand;
int LL,LLlevo,hite;
}playr[1000];
开写函数
首先需要确定是否有返回值。
确立返回值
f1:有返回值
函数返回正确执行或错误执行。
bool del_block(int x,int y,int z){
return 0;
}
f2:无返回值
void del_block(int x,int y,int z){
}
可以看出都差不多,为了方便,我们选择f2。
定义宏函数
当然啦,还是图个方便,我们用片段连接的方法:
#difine ADD_world(n) wo_##n
写删除部分的代码
注:这底下的代码是小编闲的没事干时写的有错在评论区评论。
void del_block(int x,int y1,int z){
#difine ADD_world(n) world##(n)
#difine ADD_Block(n) wo_##(n)
int thegettool;
unsigned short i;
Block D1=ADD_Block(ADD_world(world_now)[x].y[y1].worl[z])[(ADD_world(world_now)[x].y[y1].BN[z])];
Block D2=ADD_Block(ADD_world(world_now)[x].y[y1].worl[z])[(ADD_world(world_now)[x].y[y1].BN2[z])];
i=ADD_world(world_now)[x].y[y1].worl[z];
thegettool=bagpack[now_player].things_in_bag[bag_head].lei;
if(D1.get_levo<=thegettool){
brock(ADD_world(world_now)[x].y[y1].BN[z],ADD_world(world_now)[x].y[y1].BN2[z]);
fall(i,ADD_world(world_now)[x].y[y1].BN[z],ADD_world(world_now)[x].y[y1].BN2[z]);
}
else if(D1.got_levo<=thegettool){
brock(ADD_world(world_now)[x].y[y1].BN[z],ADD_world(world_now)[x].y[y1].BN2[z]);
}
}
挺多的,但还有……
fall函数:
void fall(int i,int block1,int block2){
//此处省略100000000字
//下期揭晓
}
void brock(int b1,int b2){//图像函数
}
最后
今天的代码就写到这里,我们13再见,拜拜。