贪吃蛇与黑白棋程序设计文档格式.docx
《贪吃蛇与黑白棋程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《贪吃蛇与黑白棋程序设计文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
![贪吃蛇与黑白棋程序设计文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/12/14e7962f-302c-49a8-82fa-4d49eb2f5394/14e7962f-302c-49a8-82fa-4d49eb2f53941.gif)
1.课题相关知识2
1.1.课题背景2
1.1.1.C语言的历史2
1.1.2.C语言的特点3
1.1.3C语言编程游戏的发展前景5
1.2研究意义和重要性5
2.方案论证或可行性6
2.1方案论证6
2.2系统工具WIN-TC7
2.3可行性11
3.贪吃蛇游戏设计12
3.1程序功能12
3.2程序设计12
3.2.1游戏界面12
3.2.2设计思路13
4.黑白棋游戏设计18
4.1程序功能18
4.2程序设计目的18
4.3程序设计18
4.3.1游戏规则18
4.3.2游戏界面18
4.3.3程序设计思路19
结论25
参考文献26
致谢27
引言
C语言是CombinedLanguage(组合语言)的中英混合简称。
是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
目前流行的C语言编译系统大多是以ANSIC为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。
目前游戏的种类可谓是多种多样,从扫雷到魔兽世界数不胜数,因此,游戏开发平台也是非常之多。
目前小型游戏使用C语言、Flash,Java等即可实现。
而就大型游戏而言,一般使用几种语言混合开发,比如C++接合脚本预言。
主流语言是C/C++,脚本常用的有Lua和python。
有的游戏的脚本语言是开发者自己写的。
不那么常用的语言有delphi、java(手机上常用的)、C#。
至于戏开发工具个人认为并不重要,VC主要是看重C++的运行效率而已。
在今后几年内,网络游戏开发仍将以C++语言为主,不过服务器可能就会是运行LINUXUNIX的平台。
1.课题相关知识
1.1.课题背景
游戏的设计与开发可以利用多种方法,比如2D游戏可以用Flash,Rpgmakerxp以及VB或C++等语言编写,手机游戏可以用JAVA程序编写,3D游戏就用3Dmax来进行渲染而实现3D效果。
在众多设计开发方法中,C/C++作为主流语言,有其鲜明特点。
本课题的目的主要是C/C++语言的综合编程能力的掌握,培养自身的分析问题和解决问题的能力及逻辑思维能力。
该课题主要包括使用C语言制作“贪吃蛇”“撞球”,主要考察对函数、结构体,指针,文件等的操作,以及C/C++语言基本规则和算法的掌握,所以完成本课题能够培养较强的设计能力,特别是对C语言的综合应用能力。
1.1.1.C语言的历史
C语言的原型ALGOL60语言(也称为A语言)。
1963年,剑桥大学将ALGOL60语言发展成为CPL(CombinedProgrammingLanguage)语言。
1967年,剑桥大学的MartinRichards对CPL语言进行了简化,于是产生了BCPL语言。
1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。
意思是将CPL语言煮干,提炼出它的精华。
并且他用B语言写了第一个UNIX操作系统。
而在1972年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
为了使UNIX操作系统推广,1977年DennisM.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年由美国电话电报公司(AT&
T)贝尔实验室正式发表了C语言。
同时由B.W.Kernighan和D.M.Ritchie合著了著名的《TheCProgrammingLanguage》一书。
通常简称为《K&
R》,也有人称之为《K&
R》标准。
但是,在《K&
R》中并没有定义一个完整的标准C语言,后来由美国国家标准化协会(AmericanNationalStandardsInstitute)在此基础上制定了一个C语言标准,于一九八三年发表。
通常称之为ANSIC。
K&
R第一版在很多语言细节上也不够精确,对于pcc这个“参照编译器”来说,它日益显得不切实际;
R甚至没有很好表达它索要描述的语言,把后续扩展仍到了一边。
最后,C在早期项目中的使用受商业和政府合同支配,它意味着一个认可的正式标准是重要的。
因此(在M.D.McIlroy的催促下),ANSI于1983年夏天,在CBEMA的领导下建立了X3J11委员会,目的是产生一个C标准。
X3J11在1989年末提出了一个他们的报告[ANSI89],后来这个标准被ISO接受为ISO/IEC9899-1990。
1990年,国际标准化组织ISO(InternationalOrganizationforStandards)接受了89ANSIC为ISOC的标准(ISO9899-1990)。
1994年,ISO修订了C语言的标准。
1.1.2.C语言的特点
优点:
1.简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2.运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。
C语言把括号、赋值、强制类型转换等都作为运算符处理。
从而使C语言的运算类型极其丰富,表达式类型多样化。
灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3.数据结构丰富
C语言的数据类型有:
整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。
能用来实现各种复杂的数据结构的运算。
并引入了指针概念,使程序效率更高。
另外C语言具有强大的图形功能,支持多种显示器和驱动器。
且计算功能、逻辑判断功能强大。
4.C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5.C语法限制不太严格,程序设计自由度大
虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。
6.C语言允许直接访问物理地址,可以直接对硬件进行操作
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
7.生成目标代码质量高,程序执行效率高
一般只比汇编程序生成的目标代码效率低10へ20%。
8.C语言适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX;
也适用于多种机型。
C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。
缺点:
1.C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
2.C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。
从应用的角度,C语言比其他高级语言较难掌握。
[C语言指针]
指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。
就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。
C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。
Java取消了指针操作,提高了安全性,适合初学者使用。
结构特点:
1.一个C语言源程序可以由一个或多个源文件组成。
2.每个源文件可由一个或多个函数组成。
3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
4.源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
5.每一个说明,每一个语句都必须以分号结尾。
但预处理命令,函数头和花括号“}”之后不能加分号。
6.标识符,关键字之间必须至少加一个空格以示间隔。
若已有明显的间隔符,也可不再加空格来间隔。
1.1.3C语言编程游戏的发展前景
我们国家正处于全球文化产业日新月异大格局中,电子游戏、网络游戏的发展速度之快,更是令人眼花缭乱,目不暇接。
未来的电子和游戏发展趋势必将是更智慧化、更艺术性、更人性化。
在高性能的硬设备的支持下,游戏的驱动引擎更具威力,控制功能更加完备,在一个错综复杂的极度扩张的游戏大世界中,带着超乎常人智能的人工智能的应对力,使得所有要素包括艺术的风格、情感的互动、故事的铺展、视觉的表现、用户的接口,融合为有机的一体,给人们带来更丰富的娱乐和体验。
好的游戏给人们的生活带来了健康愉快的补充,唯美的艺术享受,潜默的教育功效。
这些就是C语言编程可以做到的,C语言编程游戏更具交互性,与玩家的交流更加直接。
除此之外,正如上文所提,C语言游戏具有很多其他类型游戏所不具备的优点,这使C语言游戏成为今后游戏发展的主流趋势。
正是看准了这一点,我选择了C语言作为我游戏的开发平台。
1.2研究意义和重要性
游戏软件是一种与文化背景密切联系的产品,具有很强的民族性和丰富的文化内涵。
伴随着游戏软件在市场上的销售,与其相关的文化也随之传播。
因此发展我国自主的益智、健康的游戏软件已是当务之急。
游戏是一种基于计算机的应用软件,是新型的休闲娱乐方式。
当前开发的游戏软件应该做到知识性、娱乐性、趣味性、教育性相统一。
青少年时期是一个丰富多彩的时期,同时也是一个需要调控的时期。
研究表明,儿童有多种媒介需求,并且对各种媒介的需要有所不同,仅仅就计算机游戏而言,它可以满足青少年的朋友代替、交往需求,逃避现实、逃避部分社会学习的需要。
计算机游戏作为一种新兴的媒介文化,包含了人类科技文明的先进成果,对这样一种媒介文化,应该合理地、充分地发挥它对青少年的有利影响。
从需要的角度来看,计算机游戏对青少年有两种功用:
一是作为娱乐工具,另一种是作为某种伙伴。
就前者而言,计算机游戏有着其它游戏或者娱乐形式所没有的乐趣;
就后者而言,这种伙伴关系在一定程度上满足了青少年在现实中暂时无法实现的愿望。
当然,需要调控的是让他们在前一方面防止形成单一化,在后一方面避免形成依赖。
而为了实现这