已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
趣味程序导学C语言 1 你玩过电脑游戏吗 你喜欢电脑游戏吗 电脑游戏是你生活中的一部分吗 2 有的游戏改变过人的一生 3 小时候 游戏是一台黑白的电视机 现实在手柄的这头 梦境在手柄的那头 4 长大后 游戏是一枚小小的铜币 现实在摇杆的这头 梦境在摇杆的那头 5 现在啊 游戏是一台多媒体电脑 现实在鼠标的这头 梦境在鼠标的那头 6 当计算机技术给游戏提供了强有力的支持后 一个陌生而又似曾相识的新奇世界展示在人们面前 这里有逝去的童年梦想 有心头压抑已久的情感 有疯狂 神秘 也有脑力和技巧的挑战 有轻松获得实实在在的知识 也有用 虚拟 成就一个别样的人生 这不是一个神奇的世界吗 7 C语言 优秀的计算机语言 C语言对于计算机科学来说是一种非常重要的语言 也是最受欢迎的语言之一 它具有功能强大 适用范围广 运算符简洁明了等优点 很多系统软件就是C语言开发的 比如UNIX和我们耳熟能详的Windows系统 现在要开发好的应用软件 离不开 C语言家族 包括 VC VC C build等 有人说 初学的程序员用VB 聪明的程序员用delphi 而真正的程序员用VC 从这句话也可以看出C语言的重要性 8 下面 我们就用编游戏来学习C语言吧 9 Hello world 总是从 开始 10 学习编程的第一个程序 一般就是打印一个亲切的词语 Hello world 让我们来看看这个最简单的C程序 11 incolude 把输入输出函数的头文件包含进来 intmain printf Hello world 在屏幕上输出字符串 Hello world return0 退出main函数 并返回0 12 我们发现几个值得改进的地方 1 程序的运行结果一闪而过 2 每执行这个程序一次都能看见上次运行留下的字符 3 我们还希望屏幕输出一个笑脸来欢迎我们 13 include include 使用了clrscr和getch函数 intmain clrscr 清屏函数 printf Hello world n n printf c 2 在屏幕上画一个笑脸 笑脸的ASCII码是2 getch 接受按键 按任意键结束这个程序 return0 改进后的程序如下 14 心动的开始 一个运动中的笑脸 15 大家小时侯喜欢看动画片吗 那么我请问大家 动画和图片的最大区别是什么 没有错 动画之所以有趣 是因为它是会动的 对不对 好的 现在我们就让屏幕显示一个会自己移动的笑脸 是啊 动画片那么有趣 谁不喜欢呢 运动的原理是 先擦去物体先前的轨迹 让物体按其速度移动一段距离 再画出该物体 让我们看到以下代码 16 程序开头 我们定义了一个在屏幕中运动的点的结构类型 structmove point intx y 该点的位置 包括x坐标和y坐标 intxv yv 该点在x轴 y轴的速度 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 c b 2 输出ASCII码值为2的 笑脸 字符 17 运动后还要判断物体是否出界 如果出了界 就令物体反弹 即让它下一刻的速度等于现在的速度的相反数 好的 让我们看以下代码 if man x 80 man x 25 man y 0 man yv man yv 让将要出界的物体 弹 回出 18 怎么样 是不是很有趣呢 不过这个笑脸一直是自己运动 能不能让我们来控制它运动呢 答案是肯定的 让我们继续往下学吧 19 交互 的开始 让我们来控制笑脸运动 20 这个程序的主要功能是接受按键 如果接收的是方向键 就让笑脸顺着方向移动 如果接收的是ESC键就退出程序 其他按键则忽略处理 接受按键我们用了bioskey函数 并且用宏定义了一些键盘码 如下 defineESC0 x011b defineUP0 x4800 defineDOWN0 x5000 defineLEFT0 x4b00 defineRIGHT0 x4d00 让我们来看游戏的主循环 21 接受按键 接受按键 ESC键 判断按键 退出游戏 上下左右键 执行相关操作 无效按键 忽略处理 22 While key ESC while bioskey 1 0 等待按键 key bioskey 0 把接收的按键的键盘码赋给变量key switch key 对变量key的值进行判断 caseUP 如果按的是向上键 break 让物体向上运动 并退出switch caseDOWN 如果按的是向下键 break 让物体向下运动 并退出switch caseLEFT 向左键 break 向左运动 caseRIGHT 向右键 break 向右运动 default break 其他按键则忽略处理 23 怎么样 是不是有了玩游戏的感觉了 不过这个程序没有什么目的 也没有什么判断胜负的条件 下面我们就利用这个能控制它移动的笑脸来做一个更有趣的游戏吧 24 游戏一 在迷宫中探索 25 小时侯 我常在一些小人书和杂志上看见一些迷宫的游戏 非常喜欢玩 还常到一些书上找迷宫玩呢 好的 现在我们用C语言来编个迷宫的游戏 重温一下童年的乐趣 好的 现在我们用一个二维数组map定义了一个非常酷的地图 如下 charmap 10 20 26 接着 我们用DrawMap函数把这个地图在屏幕上画出来 voidDrawMap intx 0 y 0 for y 10 y for x 0 x 20 x if map y x DrawWall x y 27 在判断按键时 如果玩家按的是方向键 我们还要先判断前面是不是有 墙壁 如果有的话 就不能往前移动了 好的 我们在判断按键的switch语句的各个分支加上了判断语句 如下 caseUP if map man y 1 man x break 如果人前面是墙壁 就不执行下去 否则让人向上移动 break 人不能穿过墙壁 28 在main函数里 我们定义了 小人 man的坐标和 目的地 des的坐标 在游戏循环中 我们增加了一些用来判断胜负的语句 if man x des x 输出胜利信息 执行退出前的其他操作 判断玩家是否到达目的地 29 30 游戏二 聪明的 搬运工 31 大家一定玩过 搬运工 的游戏吧 这是在电脑和电子字典上较流行的益智游戏 让我们动手做一个属于自己的 搬运工 吧 32 程序依然用数组map来保存地图 数组元素如果为空格则表示什么也没有 b 表示箱子 表示墙壁 表示目的地 i 表示箱子在目的地 我们以后每推一下箱子 不但要改变屏幕的显示 也要改变map相应元素的值 charmap 10 10 b b b 游戏地图 33 游戏主循环 接受一个方向键后 判断人前面一格的状态 空地或目的地 直接移动 墙壁 不可移动 箱子或目的地上的箱子 继续判断箱子的前面一格的状态 是否为空地或目的地 推箱子 不可移动 34 程序还有一个重要的功能就是判断胜负 数组Des用来记录全部目的地的坐标 我们每执行一步操作后 程序就要通过Des数组判断这些目的地上是否都有箱子了 for i 0 count 0 de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47870-2026运载火箭海上发射基础设施平台选型技术要求
- 技术顾问聘用合同样本(范本)
- 新疆维吾尔哈密地区巴里坤哈萨克自治县2027届六年级数学第一学期期末质量检测试题含解析
- 新疆石河子市2027届六年级数学第一学期期末质量跟踪监视模拟试题含解析
- 房屋租赁合同(个人版)(范本)
- 江苏省宿迁市宿豫区2027届四上数学期末联考模拟试题含解析
- 铜仁地区2027届六上数学期末学业水平测试试题含解析
- 福建省泉州市德化县2027届数学六上期末考试模拟试题含解析
- 2027届巴音郭楞蒙古自治州轮台县数学六上期末联考试题含解析
- 2027届安徽省阜阳市太和县四年级数学第一学期期末学业质量监测模拟试题含解析
- 2026年乡镇自来水抄表客服招聘考试笔试试题(含答案)
- 容县辅警招聘考试题库 (答案+解析)
- 2025年福州市鼓楼区城投集团招聘笔试历年参考题库(含答案详解)
- 2026内蒙古呼伦贝尔市海拉尔区红旅文化旅游开发有限责任公司下属四家子公司招聘23人考试参考题库及答案详解
- 2026年山东事业编统考考试《综合应用能力》真题及答案解析
- 现代渔业园区规划布局方案
- 期末模拟测试卷(试卷)2025-2026学年五年级数学下册人教版(含答案)
- 中华人民共和国生态环境法典测试题及答案
- 2026年急诊科质量控制考核细则
- 《化妆品用植物来源原料技术要求通则》
- 驾驭式课堂培训心得体会
评论
0/150
提交评论