(好资料)c语言_推箱子游戏_第1页
(好资料)c语言_推箱子游戏_第2页
(好资料)c语言_推箱子游戏_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/* 这是彭搏同学的推箱子游戏,大家试试玩,谁有更好的Idea? */#includestdio.h#includebios.h#define LEFT 75#define RIGHT 77#define UPPER 72#define DOWN 80#define ESC 27struct Boxss /*定义箱子结构体,其中包含坐标属性*/int x,y;union keyboard /*定义读取键盘码的共用体类型*/unsigned int iKeyInfo;char chKeyBit2;int fnGetKey(void) /*定义读取键盘码的函数*/union keyboard uniKey1; /*定义读取键盘码的共用体变量*/while(bioskey(1)=0); /*检测用户是否按键*/uniKey1.iKeyInfo=bioskey(0); /*读取按键信息*/return(uniKey1.chKeyBit0=0?uniKey1.chKeyBit1:uniKey1.chKeyBit0); /*返回ASCII码或扩充码*/void main()int iKey,x=11,y=6,tx=11,ty=6; /*x,y为人物移动后坐标,tx,ty为人物移动前坐标*/struct Boxss Box4; /*定义箱子数量*/int chMap1010= /*用二维数组定义地图*/ 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;Box0.x=13; /*定义箱子的坐标属性*/Box1.x=11;Box2.x=14;Box3.x=18;Box0.y=8;Box1.y=7;Box2.y=13;Box3.y=7; while(1) /*反复进行求移动的坐标运算*/ for(i=0;i10;i+) /*输出新地图(刷新地图)*/ gotoxy(10,5+i); for(j=0;j10;j+) if(chMapij=0) printf(#); if(chMapij=1) printf( ); if(chMapij=2) printf(X); j=0; /*判断是否所有箱子都在目标坐标上*/ for(i=0;i4;i+) if(chMapBoxi.y-5Boxi.x-10=2) j+; if(j=4) /*如果所有箱子都就位输出YOU WIN!退出*/ clrscr(); printf(You Win!); break; for(i=0;i4;i+) /*在起始(或移动后)的坐标输出箱子*/ gotoxy(Boxi.x,Boxi.y); printf(0); gotoxy(x,y); /*在起始(或移动后)的坐标输出人*/ printf(*b); tx=x; /*记录本次移动前的坐标*/ ty=y; iKey=fnGetKey(); if(iKey=LEFT&chMapy-5x-1-10!=0) /*按读取的按键信息改变坐标如果改变的坐标和墙(0)重合则不改变*/ x-; if(iKey=RIGHT&chMapy-5x+1-10!=0) x+; if(iKey=UPPER&chMapy-1-5x-10!=0) y-; if(iKey=DOWN&chMapy+1-5x-10!=0) y+; /*输入ESC退出并输出YOU LOST*/ if(iKey=ESC) clrscr(); printf(You Lost); break; for(i=0;i4;i+) /*如果移动后的人的坐标与箱子坐标重合,则改变箱子坐标向前一格*/ if(Boxi.x=x&Boxi.y=y) Boxi.x+=(x-tx); Boxi.y+=(y-ty); if(chMapBoxi.y-5Boxi.x-10=0) /*如果移动后的箱子坐标会出现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论