面向C语言编程教学的游戏设计
面向C语言编程教学的游戏设计[20191214194518]
摘 要
C语言是高校的一门计算机基础课程,旨在培养学生设计程序、编写程序、调试程序的能力。作为一种通用的高级程序设计语言,又具有其它高级语言所不具备的低级语言功能,C语言不但可用于编写应用程序,还可编写系统程序。但是C语言一般作为第一门语言进行学习,初学者对计算机语言的概念知之甚少,掌握许多术语和函数的格式结构有一定困难。目前很多教材中只注重理论教学,忽视了C语言注重实用性的特点。学生在学习时会逐渐感到枯燥乏味,失去学习兴趣。本课题拟用C语言编写一个完整的游戏实例,以此讲解C语言强大的功能和用途,激发学生的学习兴趣和探索精神。主要工作需要选择合适的小游戏,进行分解,使得在编制游戏过程中,学生不自觉地就逐步掌握C语言各部分的重点内容,提高编程和解决问题的能力。
EasyX是一个针对C++的图形库,它可以帮助C语言初学者快速上手图形和游戏编程。因为Turbo C环境已经无法满足教学的需求,所以现在大部分学校在教学中,使用Visual C++(以下简称VC)讲解C语言。一方面,因为VC的编辑和调试环境都相当的优秀,另一方面,VC有适合教学的免费版本。但是,仅使用VC原有的内容来达到画直线、圆,甚至于还要注册窗口类、建立消息循环等目的,不仅增加教学难度,而且枯燥的内容会让学生失去学习兴趣。因此,我们决定使用EasyX库。
查看完整论文请+Q: 351916072
关键字:C语言教学,游戏编程,图形库。
目 录
第一章 绪论 1
1.1 C语言概述 1
1.1.1 C语言的定义和特点 1
1.1.2 C语言的优势及变化 3
1.1.3 C语言开发环境 4
1.2 利用C进行图形开发的平台 5
1.2.1 Windows API 5
1.2.2 OpenGL 5
1.2.3 Ncurses 6
1.2.4 EasyX 6
1.3 利用C设计游戏 7
1.3.1具体案例 7
第二章 系统设计 9
2.1 设计目标 9
2.2 基于EasyX库的游戏设计 9
2.2.1 需求分析 9
2.3 概要设计 12
2.3.1 程序流程图 12
2.3.2 主要流程元素 13
2.3.3 数据结构 13
2.3.4 详细设计 14
2.4 程序分解 18
第三章 系统实现 25
3.1测试 25
3.1.1 运行测试程序 25
3.1.2遇到的问题及解决方法 25
3.2 功能实现与结果验证 25
第四章 总结与展望 28
4.1 设计总结 28
4.2 C/C++前景展望 28
致 谢 29
参考文献 30
附 录 31
一、外文资料 31
Object?landscapes?and?lifetimes 31
二、中文译文 37
对象的创建和存在时间 37
第一章 绪论
随着信息技术的迅速发展和深入应用,程序设计已经逐渐成为高校理工科各专业普遍开设的一门公共基础课。通过该课程的学生有以下几方面受益:掌握通过编程解决问题的方法和思路,训练逻辑思维能力;掌握正确和规范的编程方法;培养严谨的科学作风;加深对计算机基本概念的理解。
正如学生学习了高等数学并不需要所有学生都从事数学研究一样,学习程序设计后,并不要求所有学生今后要从事计算机程序设计工作。我们认为,程序设计作为一门基础课程,其主要作用在于培养、锻炼学生逻辑思维能力和问题解决能力。程序设计与数学在培养学生逻辑思维能力方面具有不同的作用。数学的主要功能在于培养学生演绎逻辑思维能力,而程序设计的功能在于培养学生归纳逻辑思维能力。
由于历史和现实原因,国内的大部分C语言教学都是以C语言的语法规则为主线教学,教学重点放在语法规则的学习。教学中过分注重C语言语句、语法和一些细节的讲解。对学生的考核,特别是等级考试和标准化考试也是偏重于语法,课程的教学基本上是以高级语言自身的体系为脉络展开的,学生花了很大精力去学习语法,但还是不知道如何编写一个比较简单的程序,更别说一个小游戏,不知道怎样通过编程去解决实际问题。
面对这样一些问题,EasyX就是我所找到的新的解决途径。EasyX是针对C++ 的图形库,可以帮助C语言初学者快速上手图形和游戏编程。它能在娱乐的同时教会学生C语言的语句、语法和结构等等,可以大大的增加学生对于C语言学习的兴趣,从而达到寓教于乐的目的。
1.1 C语言概述
1.1.1 C语言的定义和特点
C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。
起初,程序员们使用的是ALGOL 60:面向问题的高级语言,由于其不宜用来编写系统程序,剑桥大学就推出了CPL,后来经过Matin Richards简化,出现了BCPL,接着美国贝尔实验室了B语言,并成功编写了UNIX操作系统。后来贝尔实验室在B的基础上设计出了C语言。C语言不仅有精炼、接近硬件的特点,又克服了简单、数据无类型的缺点[1]。
在后来很长的一段时间里,C语言获得了多次改进。尤其是与UNIX系统的相辅相成,令C语言迅速得到推广。到了1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。随后在1987年ANSI又公布了新标准——87 ANSIC,直至今日。
以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和Dennis M.Ritchie(合称K&R)合著了影响深远的名著《The C Programming Language》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。ANSI C比原来的标准C有了很大的发展。K&R在1988年修改了他们的经典著作《The C Programming Language》,按照ANSI C标准重新写了该书。1987年,ANSI又公布了新标准——87 ANSIC[2]。
C语言是是Combined Language(组合语言)的中英文混合简称,是一种计算机程序设计语言。是一种可以编写应用程序,也可作为应用程序设计语言的高级语言。因此,C语言的应用非常广泛,不仅可以应用在软件开发中,还可以应用到单片机及嵌入式系统开发中。
最为一门优秀的编程语言,C语言也有其自身的特点。
日常生活中,程序一词用的非常普遍。比如会议程序、法律程序、工作程序等等。描述一个程序可以按照顺序写出每个步骤或指令序列。C语言及其程序亦是有如此特点,详细归纳起来有以下几点:
1) C语言程序结构简洁、紧凑、规整、表达式简练、使用灵活。
2) C语言编写的程序可读性强,编译效率高。
3) C语言具有丰富的运算符,多达34种。丰富的数据类型与运算符相结合,使C语言具有表达灵活和效率高等特点。
4) C语言数据类型种类繁多。
5) C语言是一种结构化程序设计语言,特别适合于大型程序的模块化设计。
6) C语言语法限制不太严格,程序设计自由度大
1.1.2 C语言的优势及变化
C语言是一种面向过程的基于模块的语言。一般用在和汇编混和编程的嵌入式开发或者较低层的驱动程序开发,操作系统设计。开发周期长,代码维护成本高,可移植性差,但是程序运行效率高,可以更直接的控制硬件。举个例子:Firefox,可以说是最流行的优秀浏览器,它所用的语言就是C语言。
C是低层开发环境的软件,例如现在的蓝牙硬设备,红外线,电视机,电冰箱空调,VCD这些特殊处理芯片都是用C或ASM(汇编)来编写出来,ASM比起C还是太复杂,所以人们喜欢用C,C是一门基础语言,电子学中,所有的大型集成电路都需要来C或汇编开发,所以C也是所有电子产品的祖先。
计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。人们为了节省时间,降低程序的复杂度,于是就有了高级语言,这些高级语言更贴近人平时的说话做事的思维,不仅降低了工作量,也是程序员的培养成本得到显著降低,而世界上第一种计算机高级语言是诞生于1954年的FORTRAN语言。之后出现了多种计算机高级语言,其中使用最广泛、影响最大的当推BASIC语言和C语言。
在C语言基础上贝尔实验室的Bjarne Stroustrup推出了C++。C++进一步扩充和完善了C语言,与面向过程的C语言不同,C++是面向对象的程序设计语言,目前流行的C语言版本[3]。C语言是C++的基础,C++和C语言在很多方面是兼容的。C语言是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。C++首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。所以C语言和C++的最大区别在于它们解决问题的思想方法不一样。
1.1.3 C语言开发环境
1. Turbo C 2.0 开发环境
编写一个C语言程序,我们可以使用Turbo C 2.0。进入C语言开发环境,一般有两种途径:从DOS 环境进入和从Windows 环境进入。
(1) 从DOS环境进入;
(2) 从Windows环境进入在Windows XP环境中,如果本机中已安装了Turbo C,可以在桌面上建立一个快捷方式,双击该快捷图标即可进入C语言开发环境。或者从“开始”菜单中找到“运行”,在运行对话框中键入“C:TCTC”,按“确定”按钮即可。注意事项:以上两种方式有一个共同的前提,即Turbo C的安装路径为C:TC,如果你的计算机中Turbo C的安装路径不同的话,在上述方式中改变相应路径即可[4]。
2. Visual C++ 6.0 开发环境
Visual C++ 6.0[5],简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
其包含三个主要部分:
1、 Developer Studio,这是一个集成开发环境, 我们日常工作的99%都是在它上面完成的,但是它没有任何编译和链接程序的功能。
2、 MFC。从理论上来讲,MFC也不是专用于Visual C++,Borland C++,C++Builder和Symantec C++同样可以处理MFC。不过,Visual C++本来就是为MFC打造的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。
3、Platform SDK。这才是Visual C++和整个Visual Studio的精华和灵魂。大致说来,Platform SDK是以Microsoft C/C++编译器为核心,配合MASM,辅以其他一些工具和文档资料。
以下为如何使用VC 6.0的简易步骤:
1.进入VC环境:打开“Microsoft Visual C++6.0”。
2.VC环境下C程序的创建:
(1)新建一个工程项目。
在VC环境中选择“文件”菜单,然后单击“新建”菜单项。选择“工程”选项卡中“Win 32 Console Application”,然后“确定”
(2)向空的工程添加C语言文件。
选择“文件”菜单,然后单击“新建”菜单项。单击“C++Source File”,在右边“文件”标签下的文本框中输入新建的C语言文件名。设置好后,单击“确定”,就回到了VC++的编辑界面。
1.2 利用C进行图形开发的平台
1.2.1 Windows API
Windows API[6]全称:Windows Application Programming Interface,称为Windows应用程序接口。我们主要使用其中窗口管理函数(窗口创建、移动和修改功能)、描绘图形(图形设备(GDI)函数)等功能。
Windows API函数编程的特点:1)为应用程序提供Windows系统特殊函数及数据结构;2)Win应用程序可以利用标准大量API函数调用系统功能;3)是Win系统与Win应用程序间的标准程序接口。
摘 要
C语言是高校的一门计算机基础课程,旨在培养学生设计程序、编写程序、调试程序的能力。作为一种通用的高级程序设计语言,又具有其它高级语言所不具备的低级语言功能,C语言不但可用于编写应用程序,还可编写系统程序。但是C语言一般作为第一门语言进行学习,初学者对计算机语言的概念知之甚少,掌握许多术语和函数的格式结构有一定困难。目前很多教材中只注重理论教学,忽视了C语言注重实用性的特点。学生在学习时会逐渐感到枯燥乏味,失去学习兴趣。本课题拟用C语言编写一个完整的游戏实例,以此讲解C语言强大的功能和用途,激发学生的学习兴趣和探索精神。主要工作需要选择合适的小游戏,进行分解,使得在编制游戏过程中,学生不自觉地就逐步掌握C语言各部分的重点内容,提高编程和解决问题的能力。
EasyX是一个针对C++的图形库,它可以帮助C语言初学者快速上手图形和游戏编程。因为Turbo C环境已经无法满足教学的需求,所以现在大部分学校在教学中,使用Visual C++(以下简称VC)讲解C语言。一方面,因为VC的编辑和调试环境都相当的优秀,另一方面,VC有适合教学的免费版本。但是,仅使用VC原有的内容来达到画直线、圆,甚至于还要注册窗口类、建立消息循环等目的,不仅增加教学难度,而且枯燥的内容会让学生失去学习兴趣。因此,我们决定使用EasyX库。
查看完整论文请+Q: 351916072
关键字:C语言教学,游戏编程,图形库。
目 录
第一章 绪论 1
1.1 C语言概述 1
1.1.1 C语言的定义和特点 1
1.1.2 C语言的优势及变化 3
1.1.3 C语言开发环境 4
1.2 利用C进行图形开发的平台 5
1.2.1 Windows API 5
1.2.2 OpenGL 5
1.2.3 Ncurses 6
1.2.4 EasyX 6
1.3 利用C设计游戏 7
1.3.1具体案例 7
第二章 系统设计 9
2.1 设计目标 9
2.2 基于EasyX库的游戏设计 9
2.2.1 需求分析 9
2.3 概要设计 12
2.3.1 程序流程图 12
2.3.2 主要流程元素 13
2.3.3 数据结构 13
2.3.4 详细设计 14
2.4 程序分解 18
第三章 系统实现 25
3.1测试 25
3.1.1 运行测试程序 25
3.1.2遇到的问题及解决方法 25
3.2 功能实现与结果验证 25
第四章 总结与展望 28
4.1 设计总结 28
4.2 C/C++前景展望 28
致 谢 29
参考文献 30
附 录 31
一、外文资料 31
Object?landscapes?and?lifetimes 31
二、中文译文 37
对象的创建和存在时间 37
第一章 绪论
随着信息技术的迅速发展和深入应用,程序设计已经逐渐成为高校理工科各专业普遍开设的一门公共基础课。通过该课程的学生有以下几方面受益:掌握通过编程解决问题的方法和思路,训练逻辑思维能力;掌握正确和规范的编程方法;培养严谨的科学作风;加深对计算机基本概念的理解。
正如学生学习了高等数学并不需要所有学生都从事数学研究一样,学习程序设计后,并不要求所有学生今后要从事计算机程序设计工作。我们认为,程序设计作为一门基础课程,其主要作用在于培养、锻炼学生逻辑思维能力和问题解决能力。程序设计与数学在培养学生逻辑思维能力方面具有不同的作用。数学的主要功能在于培养学生演绎逻辑思维能力,而程序设计的功能在于培养学生归纳逻辑思维能力。
由于历史和现实原因,国内的大部分C语言教学都是以C语言的语法规则为主线教学,教学重点放在语法规则的学习。教学中过分注重C语言语句、语法和一些细节的讲解。对学生的考核,特别是等级考试和标准化考试也是偏重于语法,课程的教学基本上是以高级语言自身的体系为脉络展开的,学生花了很大精力去学习语法,但还是不知道如何编写一个比较简单的程序,更别说一个小游戏,不知道怎样通过编程去解决实际问题。
面对这样一些问题,EasyX就是我所找到的新的解决途径。EasyX是针对C++ 的图形库,可以帮助C语言初学者快速上手图形和游戏编程。它能在娱乐的同时教会学生C语言的语句、语法和结构等等,可以大大的增加学生对于C语言学习的兴趣,从而达到寓教于乐的目的。
1.1 C语言概述
1.1.1 C语言的定义和特点
C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。
起初,程序员们使用的是ALGOL 60:面向问题的高级语言,由于其不宜用来编写系统程序,剑桥大学就推出了CPL,后来经过Matin Richards简化,出现了BCPL,接着美国贝尔实验室了B语言,并成功编写了UNIX操作系统。后来贝尔实验室在B的基础上设计出了C语言。C语言不仅有精炼、接近硬件的特点,又克服了简单、数据无类型的缺点[1]。
在后来很长的一段时间里,C语言获得了多次改进。尤其是与UNIX系统的相辅相成,令C语言迅速得到推广。到了1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。随后在1987年ANSI又公布了新标准——87 ANSIC,直至今日。
以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和Dennis M.Ritchie(合称K&R)合著了影响深远的名著《The C Programming Language》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。ANSI C比原来的标准C有了很大的发展。K&R在1988年修改了他们的经典著作《The C Programming Language》,按照ANSI C标准重新写了该书。1987年,ANSI又公布了新标准——87 ANSIC[2]。
C语言是是Combined Language(组合语言)的中英文混合简称,是一种计算机程序设计语言。是一种可以编写应用程序,也可作为应用程序设计语言的高级语言。因此,C语言的应用非常广泛,不仅可以应用在软件开发中,还可以应用到单片机及嵌入式系统开发中。
最为一门优秀的编程语言,C语言也有其自身的特点。
日常生活中,程序一词用的非常普遍。比如会议程序、法律程序、工作程序等等。描述一个程序可以按照顺序写出每个步骤或指令序列。C语言及其程序亦是有如此特点,详细归纳起来有以下几点:
1) C语言程序结构简洁、紧凑、规整、表达式简练、使用灵活。
2) C语言编写的程序可读性强,编译效率高。
3) C语言具有丰富的运算符,多达34种。丰富的数据类型与运算符相结合,使C语言具有表达灵活和效率高等特点。
4) C语言数据类型种类繁多。
5) C语言是一种结构化程序设计语言,特别适合于大型程序的模块化设计。
6) C语言语法限制不太严格,程序设计自由度大
1.1.2 C语言的优势及变化
C语言是一种面向过程的基于模块的语言。一般用在和汇编混和编程的嵌入式开发或者较低层的驱动程序开发,操作系统设计。开发周期长,代码维护成本高,可移植性差,但是程序运行效率高,可以更直接的控制硬件。举个例子:Firefox,可以说是最流行的优秀浏览器,它所用的语言就是C语言。
C是低层开发环境的软件,例如现在的蓝牙硬设备,红外线,电视机,电冰箱空调,VCD这些特殊处理芯片都是用C或ASM(汇编)来编写出来,ASM比起C还是太复杂,所以人们喜欢用C,C是一门基础语言,电子学中,所有的大型集成电路都需要来C或汇编开发,所以C也是所有电子产品的祖先。
计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。人们为了节省时间,降低程序的复杂度,于是就有了高级语言,这些高级语言更贴近人平时的说话做事的思维,不仅降低了工作量,也是程序员的培养成本得到显著降低,而世界上第一种计算机高级语言是诞生于1954年的FORTRAN语言。之后出现了多种计算机高级语言,其中使用最广泛、影响最大的当推BASIC语言和C语言。
在C语言基础上贝尔实验室的Bjarne Stroustrup推出了C++。C++进一步扩充和完善了C语言,与面向过程的C语言不同,C++是面向对象的程序设计语言,目前流行的C语言版本[3]。C语言是C++的基础,C++和C语言在很多方面是兼容的。C语言是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。C++首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。所以C语言和C++的最大区别在于它们解决问题的思想方法不一样。
1.1.3 C语言开发环境
1. Turbo C 2.0 开发环境
编写一个C语言程序,我们可以使用Turbo C 2.0。进入C语言开发环境,一般有两种途径:从DOS 环境进入和从Windows 环境进入。
(1) 从DOS环境进入;
(2) 从Windows环境进入在Windows XP环境中,如果本机中已安装了Turbo C,可以在桌面上建立一个快捷方式,双击该快捷图标即可进入C语言开发环境。或者从“开始”菜单中找到“运行”,在运行对话框中键入“C:TCTC”,按“确定”按钮即可。注意事项:以上两种方式有一个共同的前提,即Turbo C的安装路径为C:TC,如果你的计算机中Turbo C的安装路径不同的话,在上述方式中改变相应路径即可[4]。
2. Visual C++ 6.0 开发环境
Visual C++ 6.0[5],简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
其包含三个主要部分:
1、 Developer Studio,这是一个集成开发环境, 我们日常工作的99%都是在它上面完成的,但是它没有任何编译和链接程序的功能。
2、 MFC。从理论上来讲,MFC也不是专用于Visual C++,Borland C++,C++Builder和Symantec C++同样可以处理MFC。不过,Visual C++本来就是为MFC打造的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。
3、Platform SDK。这才是Visual C++和整个Visual Studio的精华和灵魂。大致说来,Platform SDK是以Microsoft C/C++编译器为核心,配合MASM,辅以其他一些工具和文档资料。
以下为如何使用VC 6.0的简易步骤:
1.进入VC环境:打开“Microsoft Visual C++6.0”。
2.VC环境下C程序的创建:
(1)新建一个工程项目。
在VC环境中选择“文件”菜单,然后单击“新建”菜单项。选择“工程”选项卡中“Win 32 Console Application”,然后“确定”
(2)向空的工程添加C语言文件。
选择“文件”菜单,然后单击“新建”菜单项。单击“C++Source File”,在右边“文件”标签下的文本框中输入新建的C语言文件名。设置好后,单击“确定”,就回到了VC++的编辑界面。
1.2 利用C进行图形开发的平台
1.2.1 Windows API
Windows API[6]全称:Windows Application Programming Interface,称为Windows应用程序接口。我们主要使用其中窗口管理函数(窗口创建、移动和修改功能)、描绘图形(图形设备(GDI)函数)等功能。
Windows API函数编程的特点:1)为应用程序提供Windows系统特殊函数及数据结构;2)Win应用程序可以利用标准大量API函数调用系统功能;3)是Win系统与Win应用程序间的标准程序接口。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2453.html