c语言指针推箱子,C语言推箱子代码(5页)-原创力文档

这是一个C++编写的迷宫游戏程序,包含多个不同地图(map_1, map_2, map_3)和游戏控制功能。玩家通过控制两个位置(agg[1], agg[2])来尝试避开陷阱并找到出口。游戏状态判断包括是否通关、重新开始和结束游戏。代码中还定义了结构体position用于存储坐标,并提供了判断是否通关的clearance函数和更新地图的control_adopt函数。
摘要由CSDN通过智能技术生成

#include

#include

int i,j,steps = 0,gk = 1;

char command,t,m = 0,n = 0;

int map_1[8][11],map[8][11] = {

{0,0,0,0,0,0,0,0,0,0,0},

{1,1,1,1,0,0,0,0,0,0,0},

{1,0,0,1,1,1,1,1,0,0,0},

{1,0,0,6,0,0,4,1,0,0,0},

{1,3,0,2,0,0,4,1,0,0,0},

{1,0,0,1,1,1,1,1,0,0,0},

{1,1,1,1,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0}

};

int map_2[8][11] = {

{0,0,0,1,1,1,1,0,0,0,0},

{0,0,0,1,4,0,1,0,0,0,0},

{1,1,1,1,0,0,1,1,0,0,0},

{1,0,0,0,3,2,0,1,0,0,0},

{1,0,1,1,0,0,0,1,0,0,0},

{1,0,6,0,0,0,0,1,1,0,0},

{1,1,1,1,0,0,0,4,1,0,0},

{0,0,0,1,1,1,1,1,1,0,0}

};

int map_3[8][11] = {

{0,0,0,1,1,1,1,0,0,0,0},

{0,0,0,1,4,4,1,0,0,0,0},

{1,1,1,1,0,0,1,1,0,0,0},

{1,0,0,0,0,0,0,1,0,0,0},

{1,0,0,0,0,0,0,1,1,0,0},

{1,1,1,0,1,6,2,0,1,0,0},

{0,0,1,0,0,3,0,0,1,0,0},

{0,0,1,1,1,1,1,1,1,0,0}

};

typedef struct position{

int x;

int y;

}location;

location agg[3];

//全部通过

void clearance()

{

if(map[agg[1].x][agg[1].y] == 5&&map[agg[2].x + n][agg[2].y + m] == 5&&gk == 3)

{

printf("你赢了!\n");

system("pause");

exit(0);

}

}

//判断是否通过

void control_adopt()

{

if(map[agg[1].x][agg[1].y] == 5&&map[agg[2].x + n][agg[2].y + m] == 5)

{

if(gk != 3)

{

for(i = 0;i < 8;i++)

for(j = 0;j < 11;j++)

{

map[i][j] = map_2[i][j];

map_2[i][j] = map_3[i][j];

map_1[i][j] = map[i][j];

}

gk++;

}

steps = 0;

}

}

//重新开始

void control_reset(char reset_1)

{

if(reset_1 == 'f')

{

for(i = 0;i < 8;i++)

for(j = 0;j < 11;j++)

map[i][j] = map_1[i][j];

steps = 0;

}

}

//结束

void control_end(char end_0)

{

if(end_0 == 't')

exit(0);

}

//控制方向 + 箱子堵住陷阱

void control_direction(char direction_)

{

if(direction_ == 'd'||direction_ == 'w'||direction_ == 'a'||direction_ == 's')

{

if(direction_ == 'd')

m = 1;

if(direction_ == 'a')

m = -1;

if(direction_ == 'w')

n = -1;

if(direction_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值