下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include"stdio.h"#include"bios.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); /*检
2、测用户是否按键*/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,
3、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) /*反复进
4、行求移动的坐标运算*/ for(i=0;i<10;i+) /*输出新地图(刷新地图)*/ gotoxy(10,5+i); for(j=0;j<10;j+) if(chMapij=0) printf("#"); if(chMapij=1) printf(" "); if(chMapij=2) printf("X"); j=0; /*判断是否所有箱子都在目标坐标上*/ for(i=0;i<4;i+) if(chMapBoxi.y-5Boxi.x-10=2) j+; if(j=4) /*如果所有箱子都就位输出"Y
5、OU WIN!"退出*/ clrscr(); printf("You Win!"); break; for(i=0;i<4;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) /*按读取的按
6、键信息改变坐标如果改变的坐标和墙(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;i<4;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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理健康宣教对话
- 电力电容器卷制工操作评优考核试卷含答案
- 工程监理专业女生就业前景
- 硅料腐蚀工创新方法竞赛考核试卷含答案
- 数控冲床操作工保密意识模拟考核试卷含答案
- 机修钳工安全宣贯水平考核试卷含答案
- 拉床工变革管理知识考核试卷含答案
- 智能硬件装调员岗前安全综合考核试卷含答案
- 船体冷加工岗位客户服务考核试卷含答案
- 生猪屠宰加工工安全文明模拟考核试卷含答案
- 电力设施安全防护技术规范手册
- 2026年上海市社工岗位面试题及详细解析
- 小儿补液课件
- 监理单位安全生产责任制度范本
- 塞替派注射液指南
- 质量控制计划编制模板及实施
- 人教A版(2019)高一数学必修第一册基础知识清单填空练习题(含答案)
- 2025年税务领导选拔笔试题目及答案
- DBJ-T 15-213-2021 城市桥梁隧道结构安全保护技术规范
- 城市轨道交通供电一次系统运行与维护课件 项目四 城市轨道交通低压配电系统
- 车间装配员工培训
评论
0/150
提交评论