迷宫游戏

/*乌云老师的话:学习检测键盘信息之后,余文彪同学当堂就作岀了通过键盘在屏幕上下左右移动一

个星星的程序。

老师给几位同学大略说了一下迷宫游戏的实现思路,彭搏同学下次课就把做好的迷宫游戏

拿出来了,wonderful!

思路分明,代码简练,注释清晰,只得大家学习。

同时他还实现了一个简单推箱子游戏,可谓程序快手了。

*/

#include"stdio.h" #include"bios.h" #define LEFT 75 #define RIGHT 77 #define UPPER 72 #define DOWN 80 #define ESC 27 union keyboard { unsigned int iKeylnfo; char chKeyBit[2];

};

int fnGetKey(void)

{

union keyboard uniKeyl; while(bioskey(1)==0); uniKey1.iKeylnfo=bioskey(0);

/*定义读取键盘码的共用体类型 */

/*定义读取键盘码的函数*/

/*定义读取键盘码的共用体变量*/

/*检测用户是否按键*/

/*读取按键信息*/

return(uniKey1.chKeyBit[0]==0?uniKey1.chKeyBit[1]:uniKey1.chKeyBit[0]);

}

/*返回ASCII码或扩充码*/

void main()

{

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

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

{0,0,0,0,0,0,0,0,0,0},/*0 表示墙 1 表示路 2表示出口 */

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

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

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

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

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

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

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

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

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

};

int i,j;/*反复进行求移动的坐标运算 */

while(1)

{

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

{

gotoxy(10,5+i);

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

{

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

prin tf("#");

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

printf("");

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

prin tf("E");

}

}

if(chMap[y-5][x-10]==2)/*如果如果人的坐标和目标坐标重合输出"YOU WIN!"退出*/

clrscr();

printf("You Win!");

break;

}/*在起始(或移动后)的坐标输出人*/

gotoxy(x,y);

printf("*\b");

(0)重合则iKey=fnGetKey();/*按读取的按键信息改变坐标如果改变的坐标和墙

(0)重合则

不改变*/

if(iKey==LEFT&&chMap[y-5][x-1-10]!=0)

x--;

if(iKey==RIGHT&&chMap[y-5][x+1-10]!=0)

x++;

if(iKey==UPPER&&chMap[y-1-5][x-10]!=0)

y--;

if(iKey==DOWN &&chMap[y+1-5][x-10]!=0)

y++;

if(iKey==ESC)/*输入 ESC 退出并输出"YOU LOST"*/

{

clrscr();

printf("You Lost");

break;

}

clrscr();

}

getch();

}

c语言迷宫游戏课程设计,迷宫游戏c语言程序课程设计.docx相关推荐

  1. 计算机网络课程设计之简单 Web Server 程序的设计与实现

    前言 本实验是实现一个简易的webserver,我们一直在访问网站,甚至还做过Web课程设计,部署过Tomcat等等,所以说这次实验能更深入的了解其原理 白嫖容易,创作不易,本文原创,转载请注明!!! ...

  2. C语言程序入门设计OJ练习题7 浙江大学——程序入门设计-翁恺

    C语言程序入门设计 OJ #浙江大学--程序入门设计-翁恺 7.高精度小数 题目内容: 由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法. (0,1 ...

  3. C语言程序入门设计OJ练习题11 浙江大学——程序入门设计

    C语言程序入门设计 OJ GPS数据处理 题目内容: NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NME ...

  4. C语言程序流程设计之跳转【程序流程设计】(14)

    跳转 break 解析 语法与流程 代码演示 continue 解析 语法和流程 代码演示 return goto 代码演示 测试 break 能跳出几层循环结构 跳转 前两种跳转是发生在循环内部的, ...

  5. python设计选择题代码源_Python程序的设计试题库完整

    . . . < Python 程序设计>题库 一. 填空题 第一章 基础知识 1 . Python 安装扩展库常用的是 _______ 工具.( pip ) 2 . Python 标准库 ...

  6. c语言算24点答案,C语言-纸牌计算24点小游戏

    C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...

  7. c语言程序课程设计摘要,C语言程序课程设计报告精编.docx

    湖南涉外经济学院 课程设计报告 课程名称: 报告题目: 学生姓名: 所在学院: 专业班级: 学生学号: 指导教师: C语言课程设计 **爱若烟花空< 信息科学与工程学院 **** 爱若 烟 花* ...

  8. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序

    C语言课程设计报告模拟时钟转动程序 课程设计报告题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 导 教 师 ...

  9. 中南大学c语言课程设计报告,中南大学c语言课程实践报告材料.doc

    <中南大学c语言课程实践报告材料.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<中南大学c语言课程实践报告材料.doc>文档请在天天文库搜索. ...

  10. 计算机网络课程设计之网络聊天程序的设计与实现

    前言 计算机网络课程设计开始,要求用C/C++,而且有些题目还要有图形界面,因此决定用Qt写图形界面,同时决定用一个程序完成所有的实验设计. 白嫖容易,创作不易,本文原创,转载请注明!!! 源码和可运 ...

最新文章

  1. Java集合框架图(学习)
  2. 以交互方式安装ESXi 6.0
  3. Warning:关于_CRT_SECURE_NO_WARNINGS
  4. 数据结构——堆栈的C++实现
  5. python类属性数据三维图_Python图表属性
  6. 设置pyspark 启动时所使用的python版本
  7. 凸集、锥、凸锥、正常锥的辨析
  8. 关于algorithm的sort函数
  9. mysql xa 异常_面试官问我:MySQL中的XA事务崩溃了如何恢复??
  10. 动漫系列美化XP主题风暴下载
  11. m3u8转换到mp4 python_python实现m3u8格式转换为mp4视频格式
  12. 用例图(use case diagram)
  13. 倾角传感器的精度和线性误差的区别
  14. 设计模式之简单工厂模式与策略模式
  15. 你所不知道的,华为项目管理之道!
  16. 这个设计思想能启蒙你很多年,嵌入式裸机按键扫描
  17. 华为OD机试 - 最长的顺子
  18. 清华大学孙茂松:透过喧嚣,坐看云起,NLP 的迷思与感悟
  19. 《TCP/IP 网络编程》笔记
  20. 寄云科技获评全球创企top10%

热门文章

  1. 只使用无线网卡突破内网限制
  2. 你真正了解国潮背后的主流群体”Z世代”吗?
  3. pragma comment的使用(转)
  4. 淡盐水洗脸有什么用处
  5. keepass自动输入密码_如何使用Keepass密码管理器更好地组织机密
  6. 探索开源创新之路,BoCloud博云在2018红帽论坛等你
  7. C语言中野指针、NULL、0与‘\0’的区别与用途
  8. 使用计算机网络可以提高计算机运行速度,如何提高计算机运行速度
  9. 适合中小企业的文档管理软件有哪些?
  10. python安装词云失败 ERROR: Command errored out with exit status 1