版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、趣味程序导学C语言你玩过电脑嬉戏吗? 你喜爱电脑嬉戏吗?电脑嬉戏是你生活中的一部分吗?有的嬉戏改变过人的一生. 小时侯, 嬉戏是一台黑白的电视机现其实手柄的这头,梦境在手柄的那头. 长大后, 嬉戏是一枚小小的铜币现其实摇杆的这头,梦境在摇杆的那头.此刻啊,嬉戏是一台多媒体电脑现其实鼠标的这头,梦境在鼠标的那头 当统计机技术给嬉戏提供了强有力的撑持后,一个生稀而又似曾相识的新奇天下展示在人们面前.这个地方有逝去的童年理想,有心头压抑已久的情感;有疯狂、奇妙,也有脑力和本领的挑战;有轻松获得实其实在的学问,也有效“虚拟”成绩一个不样的人生.这不是一个奇妙的天下吗?C语言优异的统计机语言 C语言对统
2、计机科学来讲是一种非常重要的语言,也是最受迎接的语言之一.它具有功能强盛、合用范畴广、运算符简洁明了等利益.非常多系统软件便是C语言开发的,比似UNIX和我们耳熟能详的Windows系统.此刻要开发好的应用软件,离不开“C语言家族”(包罗:VC+、VC#、C+ build等).有人讲:初学的程序员用VB、聪慧的程序员用delphi、而真正的程序员用VC.从这句话也能够发现C语言的重要性.下面,我们便用编嬉戏来学习C语言吧!_老是从最先. 学习编程的第一个程序,一样便是打印一个关切的词语“Hello,world!”.让我们来看看那个最简单的C程序:#incolude *把输入输出函数的头文件见谅
3、进来*int main()printf(“Hello, world!”);*在屏幕上输出字符串“Hello,world!”*return 0;*退出main函数,同时返回0* 我们发觉几个值得改进的地点,1、程序的运行结论一闪而过.2、每履行那个程序一次都能瞥见上次运行留下的字符.3、我们还期望屏幕输出一个笑脸来迎接我们. #include #include *使用了clrscr和getch函数*int main()clrscr();*清屏函数*printf(Hello, world!nn);printf(“%c”,2); *在屏幕上画一个笑脸,笑脸的ASCII码是2 *getch();*同意
4、按键,按随意率性键结束那个程序*return 0;改进后的程序似下改进后的程序似下:心动的最先一个运动中的笑脸大伙儿小时侯喜爱看动画片吗? 那么我叨教大伙儿,动画和图片的最大区不是啥? 没有错,动画之所以风趣,是因为它是会动的,对不对?好的,此刻我们便让屏幕表现一个会自已移动的笑脸.是啊,动画片那么风趣,谁不喜爱呢? 运动的原理是,先擦去物体从前的轨迹,让物体按其速度移动一段间隔,再画出该物体.让我们看到以下代码:程序开头,我们定义了一个在屏幕中运动的点的结构类型: struct move_pointint x, y;*该点的位置,包罗x坐标和y坐标*int xv, yv;*该点在x轴、y轴的
5、速度*;1、擦去物体原来的轨迹:gotoxy(man.x, man.y);*把完标移到指定的坐标*printf(“ “);*输出一个空格,把从前的字符擦去*2、接着我们让物体按其速度运动:man.x += man.xv;*水平方向按x轴的速度运动*man.y += man.yv;*垂直方向按y轴的速度运动*3、末了打印出那个笑脸:gotoxy(man.x, man.y);printf(“%cb”, 2); *输出ASCII码值为2的“笑脸”字符* 运动后还要推断物体是否出界,似果出了界,便令物体反弹,即让它下一刻的速度等于此刻的速度的相反数. 好的,让我们看以下代码:if (man.x = 8
6、0 | man.x = 25 | man.y = 0)man.yv = -man.yv;让将要出界的物体“弹”回出.如何样?是不黑白常风趣呢?只是那个笑脸一向是自已运动,能不能让我们来操纵它运动呢?答案是必然的,让我们接着往下学吧!的最先让我们来操纵笑脸运动! 那个程序的关键功能是同意按键,似果接收的是方向键,便让笑脸顺着方向移动,似果接收的是ESC键便退出程序,其他按键那么忽略操作. 同意按键我们用了bioskey函数,同时且用宏定义了部分键盘码,似下:#define ESC 0 x011b#define UP 0 x4800#define DOWN 0 x5000#define LEFT
7、0 x4b00#define RIGHT 0 x4d00让我们来看嬉戏的主循环:同意按键同意按键ESC键?推断按键退出嬉戏上下左右键?履行相关操纵无效按键?忽略操作While (key != ESC)while (bioskey(1) = 0);*守侯按键*key = bioskey(0);*把接收的按键的键盘码赋给变量key*switch (key) *对变量key的值履行推断*case UP: *似果按的是向上键* break; *让物体向上运动,同时退出switch*case DOWN: *似果按的是向下键* break; *让物体向下运动,同时退出switch*case LEFT: *
8、向左键* break;*向左运动*case RIGHT: *向右键* break;*向右运动*default:break;*其他按键那么忽略操作* 如何样,是不是有了玩嬉戏的感受了?只是那个程序没有啥意图,也没有啥推断胜败的前提.下面我们便操纵那个能操纵它移动的笑脸来做一个更风趣的嬉戏吧! 嬉戏一:在 迷宫 中寻求小时侯,我常在部分小人书和杂志上瞥见部分迷宫的嬉戏,非常喜爱玩,还常到部分书上寻迷宫玩呢.好的,此刻我们用C语言来编个迷宫的嬉戏,重温一下童年的趣味. 好的,此刻我们用一个二维数组map定义了一个非常酷的地图.似下:char map1020 =#,# # #,# # # # #,#
9、# # #,# # # # # # #,# # # # # # #,# # # # # #,# # # # # #,# # #, #; 接着,我们用DrawMap函数把那个地图在屏幕上画出来.void DrawMap()int x = 0, y = 0;for (; y 10; +y)for (x=0; x 20; +x)if (mapyx = #)DrawWall(x, y);在推断按键时,似果玩家按的是方向键,我们还要先推断前面是不是有“墙壁”,似果有的话,便不能往前移动了.好的,我们在推断按键的switch语句的各个分支加上了推断语句,似下:case UP:if (mapman.y -
10、1man.x = #) break;*似果人前面是墙壁,便不履行下去* 否那么让人向上移动*break;人不能穿过墙壁!在main函数里,我们定义了“小人”man的坐标和“意图地”des的坐标.在嬉戏循环中,我们增加了部分用来推断胜败的语句:if (man.x = des.x & man.y = des.y) *似果人的坐 标等于意图地的坐标*gotoxy(35, 3);printf(“Ok! You win!”); *输出获胜信息*.*履行退出前的其他操纵.*推断玩家是否到达意图地:OK!那个“迷宫”的嬉戏我们差不多编好了!下面,我们编一个更好玩的嬉戏推箱子!嬉戏二:聪慧的“搬运工”
11、 大伙儿必然玩过“搬运工”的嬉戏吧!这是在电脑和电子字典上较盛行的益智嬉戏,让我们着手做一个属于自已的“搬运工”吧! 程序仍然用数组map来保留地图,数组元素似果为空格那么示意啥也没有,b示意箱子,#示意墙壁,*示意意图地,i示意箱子在意图地.我们往后每推一下箱子,不完要改变屏幕的表现,也要改变map相应元素的值. char map1010 = , #, # #, # b #, # # #, # # # *#, # # b *#, # b *#, #, ;嬉戏地图嬉戏主循环同意一个方向键后推断人前面一格的状态空地或意图地?直截了当移动墙壁?不可移动箱子或意图地上的箱子?接着推断箱子的前面一格的状态是否为空地或意图地?是推箱子否不可移动程序还有一个重要的功能便是推断胜败.数组Des用来记录全部意图地的坐标,我们每履行一步操纵后,程序便要通过Des数组推断这些意图地上是否都有箱子了. for (i=0, count=0; desi.x != -1; +i) *清空count*似果发觉嬉戏地图还有“意图地”没有箱子在上面,便让
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 核心素养导向的小学数学单元整体教学策略研究
- 2025~2026学年河南省济源市九年级上学期10月期中道德与法治试卷
- 中药学的毕业论文
- 历年法学本科毕业论文
- 2026届河北省永年县一中数学高一上期末统考模拟试题含解析
- 车辆安全生产培训资料课件
- 2026年宜黄县城市管理局公开招聘协管员备考题库及完整答案详解1套
- 2026年成都传媒集团人力资源服务中心关于编辑、发行经理、渠道经理等岗位的招聘备考题库含答案详解
- 2026年中远海运航空货运代理有限公司重庆分公司招聘备考题库及1套参考答案详解
- 2026年中央网信办直属事业单位-国家计算机网络应急技术处理协调中心校园招聘备考题库及参考答案详解
- 2026年宁夏贺兰工业园区管委会工作人员社会化公开招聘备考题库附答案详解
- 盘州市教育局机关所属事业单位2025年公开考调工作人员备考题库完整答案详解
- 2025-2026四年级上科学期末检测试题
- 辽宁省鞍山市2025-2026学年八年级上学期1月期末语文试卷
- 班级演唱会课件
- 2025马年元旦新春晚会活动策划
- 交警新警执法培训
- 急性毒性测试:类器官芯片的快速响应
- 骨科护理标准操作流程手册
- 产品推广专员培训
- DB65T 3119-2022 建筑消防设施管理规范
评论
0/150
提交评论