拼图小游戏-张海威

上传人:kms****20 文档编号:39691598 上传时间:2018-05-18 格式:DOC 页数:13 大小:62.48KB
返回 下载 相关 举报
拼图小游戏-张海威_第1页
第1页 / 共13页
拼图小游戏-张海威_第2页
第2页 / 共13页
拼图小游戏-张海威_第3页
第3页 / 共13页
拼图小游戏-张海威_第4页
第4页 / 共13页
拼图小游戏-张海威_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《拼图小游戏-张海威》由会员分享,可在线阅读,更多相关《拼图小游戏-张海威(13页珍藏版)》请在金锄头文库上搜索。

1、哈尔滨远东理工学院哈尔滨远东理工学院C 语言程序设计语言程序设计课程设计(论文)课程设计(论文)题目:题目: 拼图小游戏拼图小游戏 院(系):院(系): 机器人科学与技术学院机器人科学与技术学院 专业班级:专业班级: 1010 电信电信 4 4 班班 学学 号:号: 1003042010030420 学生姓名:学生姓名: 张海威张海威 指导教师:指导教师: 李涛李涛 起止时间:起止时间:2013.9.06-2013.9.172013.9.06-2013.9.17课程设计(论文)任务及评语课程设计(论文)任务及评语院(系):机器人科学与技术学院 教研室:实践教学楼318学 号10030420学生

2、姓名 张海威专业班级10 电信 4 班课程设计(论文)题目拼图小游戏课程设计(论文)任务程序设计的任务与要求:程序设计的任务与要求:(1).掌握面向对象程序设计语言 C 的基本语法(2).掌握 C 面向对象设计的思想(3).掌握 Turbo C2.0 与 C 开发工具的使用(4).运用标准 C 规范设计应用程序设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出设计报告。指导教师评语及成绩成绩: 指导教师签字: 年 月 日哈尔滨远东理工学院课程设计说明书目 录 第 1 章 课程设计目的与要求 .11.1 设计目的 .11.2 实验环境.11.3 预备知

3、识.11.4 设计要求.1第 2 章 课程设计内容 .22.1 课题描述 .22.2 系统设计 .22.2.1 功能分析.3 2.2.2 面向对象设计.5 2.2.2 类成员描述.62.3 程序实现.72.3.1 源码分析.7 2.3.2 运行结果.14 第 3 章 课程设计总结 .15 参考文献 .16哈尔滨远东理工学院课程设计说明书1第 1 章 课程设计目的与要求1.1 设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩

4、固、加深学生所学专业课程C 语言教程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。(3)利用所学知识,开发小型应用系统,掌握运用 C 语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。(6)熟练掌握 C 语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2 实验环计的基本知识及 VC+编辑器的使用方法。1.4

5、设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。2.积极上机调试源程序,增强编程技巧与调程能力。3.认真书写课程设计预习报告,课程设计说明书。硬件要求能运行 Windows 操作系统的微机系统。C 语言应用程序开发软件使用:VC+ 系统,或其他语言应用程序开发软件。1.3 预备知识熟悉 C 语言程序设哈尔滨远东理工学院课程设计说明书2第 2 章 课程设计内容2.1 课题描述项目选题为做拼图小游戏。游戏中有8个数字,一个空格位,通过上、下、左、右的控制来使得数字移动,最终排出12345678的顺序,简单经典的小游戏,开发智力,增加趣味。2.2 系统设计系统流程图说明:程序初始化后,

6、 哈尔滨远东理工学院课程设计说明书3程序初始化开始游戏通过上下左右 移动数字数字移动到固定 位置游戏结束图 2.1 拼图游戏系统流程图2.2.1 功能分析游戏中有1、2、3、4、5、6、7、8,8个数字和一个空格组成,通过上、下、左、右、操控界面来运行以及实现游戏目的。操作方法: 按数字键2、4、6、8、控制各方块行走。(一)根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法) ;哈尔滨远东理工学院课程设计说明书4(4)完成类中各个成员函数的定义;(5)完成系统的

7、应用模块;(6)功能调试;(二)在程序设计中,重点考虑的问题有:(1)数据类型的定义;(2)自定义构造函数的初始化与析构函数的调用;(3)数组与指针的使用;(4)虚函数的恰当运用;(4)每个类提供给外部函数的权限控制;(5)类的派生与继承的合理使用,友元函数的使用,还要重点考虑链表的正确运用。(三)本程序涉及了面向对象的设计过程中的类的概念,其中有:(1)类的定义:类(Class)实际上是对某种类型的对象定义变量和方法的原型。示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。(2)类的构造函数的定义:与类名称具有一样名称的成员函数是构造函数。构造函数不能有返回值,甚至不能有 r

8、eturn 语句。说明一个有返回值的构造函数是错误的,取构造函数的地址也是错误的。如果一个类有构造函数,在程序中每个该类类型的对象在使用之前由此构造函数进行初始化,构造函数是在对象的创建点上被调用的。(3)析构函数的定义:析构函数是“反向”的构造函数。它们在对象被销毁(回收)时调用。设计一个函数为类的析构函数只要在类名之前加上()号。(4)内联函数的定义:内联函数在调用时不是像一般的函数那样要转去执行被调用函数的函数体,执行完成后再转回调用函数中,执行其后语句,而是在调用函数处用内联函数体的代码来替换,这样将会节省调用开销,提高运行速度。哈尔滨远东理工学院课程设计说明书52.3.1 源码分析#

9、include #include /*使用其中的 int random(int a): 产生一个在 0 到 a-1 之间的整数 和 randomize():复位随机发生器*/ #include /*使用其中的 gotoxy(int x,int y): 把光标移动到屏幕的 x(180),y(125/50)处*/ /*和 clrscr():清屏*/ int num=1,2,3,4,5,6,7,8,0; /*方块的数字*/ main() char key=0; /*键盘码*/ int pos; /*九格中,空格的位置*/ clrscr(); /*清屏*/ randomize(); /*初始化随机发生

10、器*/ newGame(); for(;) key=getch(); /*获得键盘输入*/ if(key=0) continue; pos=GetTheNull(); /*得到空格*/ switch(key) /*测试按键*/ case 72: /*按下*/ if(pos=3) change(pos,pos-3); break; case 77: /*按左*/ if(pos%3!=0) change(pos,pos-1); break; case 75: /*按右*/ if(pos%3!=2) change(pos,pos+1); break; case 110: /*按下n新建游戏*/ ne

11、wGame(); update(); /*更新*/ if(isSuccess() /*看是否游戏成功*/ 哈尔滨远东理工学院课程设计说明书6gotoxy(26,10); /*成功了,输出一个写有 Well done!的外框*/ printf(“332304304304304304304304304304304304304267“); gotoxy(26,11); printf(“263 272“); gotoxy(26,12); printf(“263 Well Done! 272“); gotoxy(26,13); printf(“263 272“); gotoxy(26,14); prin

12、tf(“324315315315315315315315315315315315315274n“); getch(); newGame(); /*新游戏*/ if(key=27) break; /*退出*/ clrscr(); /*清屏*/ newGame() /*新建游戏,实际上就是把有数字的八个方格打散, 这种效果的实现就是随机的两两交换,而怎么不与空的那个交换呢? 这涉及有没有解的问题 不管怎么样,九格游戏最后的结果只有两个: 123 | 123 456 | 456 78 | 87 (证明从略) 而要两两交换而始终有解的话,(从原序列开始)必须:相邻交换的次数为偶 但我们用一种更有效的方法: 每一个总与其下第二个交换. 第 7,8 个与 0,1 交换,只要交换次数多,仍可获得相同的效果. 而这些的前提是其中的 0 不能与其第奇数个作奇数次交换. 为了省事,不处理 0. 其中产道理,请自己思考 */ int i,a,b; for(i=0;i8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号