


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* 这是彭搏同学的推箱子游戏,大家试试玩,谁有更好的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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租赁合同标准范本
- 护理带教方法规范化培训体系
- 果酸换肤后续护理
- 人教版小学英语四年级第二册期末检测试卷
- 管理学组织结构
- 脑血栓形成护理
- 遗传性肾炎的临床护理
- 幼儿园中班家访工作总结模版
- 高中化学人教版晶体结构与性质知识点总结
- 山东省济宁市兖州区2024-2025学年高二下学期期中考试英语试题
- 卫星互联网应用与挑战
- 《生物医用陶瓷》课件
- 数据资产入表的探讨与思考
- 浙江宁波鄞州区市级名校2025届中考生物全真模拟试卷含解析
- 国家电网十八项重大反事故措施
- 院感教学课件
- 江苏省南京市(2024年-2025年小学六年级语文)统编版期末考试(下学期)试卷及答案
- 【MOOC】温病学-河南中医药大学 中国大学慕课MOOC答案
- 中国慢性阻塞性肺疾病基层诊疗指南(2024年)解读
- 《汽车用改性聚丙烯车门外板》
- 栏杆拆除及更换施工方案
评论
0/150
提交评论