C语言推箱子游戏需求分析,C语言推箱子游戏.doc

C语言推箱子游戏

C语言推箱子游戏.txt永远像孩子一样好奇,像年轻人一样改变,像中年人一样耐心,像老年人一样睿智。我的腰闪了,惹祸的不是青春,而是压力。。。。。。当女人不再痴缠,不再耍赖,不再喜怒无常,也就不再爱了。

#include"stdio.h"

#include"bios.h"

#define LEFT 75

#define RIGHT 77

#define UPPER 72

#define DOWN 80

#define ESC 27

struct Boxss

{

int x,y;

};

union keyboard

{

unsigned int iKeyInfo;

char chKeyBit[2];

};

int fnGetKey(void) /*定义读取键盘码的函数*/

{

union keyboard uniKey1; /*定义读取键盘码的共用体变量*/

while(bioskey(1)==0); /*检测用户是否按键*/

uniKey1.iKeyInfo=bioskey(0); /*读取按键信息*/

return(uniKey1.chKeyBit[0]==0?uniKey1.chKeyBit[1]:uniKey1.chKeyBit[0]); /*返回ASCII码或扩充码*/

}

void main()

{

int iKey,x=11,y=6,tx=11,ty=6; /*x,y为人物移动后坐标,tx,ty为人物移动前坐标*/

struct Boxss Box[4]; /*定义箱子数量*/

int chMap[10][10]={ /*用二维数组定义地图*/

{0,0,0,0,0,0,0,0,0,0}, /*0表示墙1表示路2表示目标*/

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

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

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

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

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

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

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

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

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

};

int i,j;

Box[0].x=13; /*定义箱子的坐标属性*/

Box[1].x=11;

Box[2].x=14;

Box[3].x=18;

Box[0].y=8;

Box[1].y=7;

Box[2].y=13;

Box[3].y=7;

while(1) /*反复进行求移动的坐标运算*/

{

for(i=0;i<10;i++) /*输出新地图(刷新地图)*/

{

gotoxy(10,5+i);

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

{

if(chMap[i][j]==0)

printf("#");

if(chMap[i][j]==1)

printf(" ");

if(chMap[i][j]==2)

printf("X");

}

}

j=0; /*判断是否所有箱子都在目标坐标上*/

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

if(chMap[Box[i].y-5][Box[i].x-10]==2)

j++;

if(j==4) /*如果所有箱子都就位输出"YOU WIN!"退出*/

{

clrscr();

printf("You Win!");

break;

}

for(i=0;i<4;i++) /*在起始(或移动后)的坐标输出箱子*/

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值