- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《面向对象的编程技术课程设计》(之方向1-电脑游戏制作)指导书
胡增涛 2007-03
1.课程设计的目的和意义
在中国,电子游戏曾一度被大家斥为“电子海洛因”。然而电子游戏在青年学生中大受欢迎却又是一个不争的事实。正如水能载舟,亦能覆舟一样,任何事物都有其两面性。与其千方百计地封堵,还不如让同学们从技术的角度来研究它,这样既可以掌握复杂系统的设计技巧,也可以破除对电子游戏的神秘感。我相信,一个人如果自己能制作游戏,如果能清楚地知道那个绚丽多彩的虚拟世界背后无非就是一些类、变量、函数的话,他就不可能再沉迷于打游戏———与一堆对象、内存变量和函数较劲。同时,从技术上讲,游戏程序的开发异常复杂,能充分体现面向对象的拟人化思想和面向对象设计技巧。通过游戏程序的制作,可以帮助学生真正掌握面向对象程序设计的精髓。
2.课程设计要求
附:教学大纲中的有关要求:
成绩考核
《面向对象的编程技术》课程设计实验采用课程设计实验报告和课程设计实验应用系统程序综合评定成绩,其中课程设计实验报告占60%;课程设计应用系统程序占40%。课程设计提交一份综合实验报告,一份程序软盘,课程设计应用系统程序采取上机检验的方式确定分数。
课程设计实验报告的基本格式
课程设计实验报报告的基本内容至少包括封面、正文、附录三部分。
1.封面
封面包括“《面向对象的编程技术》课程设计实验报告”、班级、姓名、设计时间等信息。
2.正文
(1)应用程序的名称;
(2)应用程序的主题、设计目的;
(3)应用程序简介:设计目的、功能介绍、基本内容、主要技术、运行环境等;
(4)应用程序的总体设计结构图、类层次图、主要运行界面的介绍;
(5)创新和难点:阐述创新的得意之处;在开发过程中遇到的重点、难点问题及解决过程。(6)课程设计中目前存在的问题;
(7)设计实践过程中的心得体会。
3.附录
附录中至少包括:
附录1: 程序的安装、使用说明。
2.1 设计一:“子弹打飞机” (满分90)
要求白手起家,独立完成,即不允许套用现成的案例,程序要能看出“土香气”。能成功演示,报告中还要给出主要代码(设计思想可参考设计三中的 TankWar剖析.doc(或pdf))
注意:每个子弹、飞机对象必须用new创建,运动到边界外或发生碰撞后用delete销毁,再重new新对象(同样,计数器必须反映真实的对象个数,而不是循环次数),否则就等于C语言编程了,没有体现C++的OO思想。
主要功能:飞机横向飞过;炮塔不能移动,在垂直方向上发出单发炮弹(f键),判断炮弹是否击中飞机。(重
点在于模拟物体的运动,同学们不会MFC图形编程没关系,可以在控制台下采用字符方式模拟飞机等;也可
以用Turbo C++ 3.0来编程,)
2.2 设计二:“基地保卫战” (满分95)
要求白手起家,独立完成,即不允许套用现成的案例,程序要能看出“土香气”。能成功演示,报告中还要给出主要代码 (设计思想可参考设计三中的 TankWar剖析.doc(或pdf))
注意:每个子弹、飞机对象必须用new创建,运动到边界外或发生碰撞后用delete销毁,再重new新对象(同样,计数器必须反映真实的对象个数,而不是循环次数),否则就等于C语言编程了,没有体现C++的OO思想。
要功能:一堆敌机从天而降,炮塔可以左右移动(和键)发出连发炮弹束(f键),在飞机撞上炮塔前击落它。
2.3 设计三:“坦克大战” (满分100)
(1) 参考(《PC游戏编程(窥门篇)》谭文洪著)中的“坦克大战”(TankWar工程),并对其进行完善、扩充,程序要能看出专业水平和商业化产品的效果。
(2) 要求:修改案例中“子弹可以穿透石头墙”的错误;增加上帝模式(无敌);修改一种敌军坦克,使之威力更大(要求坦克画面采用学生自己的头像)(需要重新编译资源包;之所以“改”而不是“增”,是因为同学们无法修改地图编辑器,另一个办法是在程序运行后动态加入);回答 “坦克大战”指导书.doc(或pdf) 和 TankWar剖析.doc(或pdf)中带有蓝色《….?》标记的问题。
3. 设计一:“子弹打飞机”开发指导
(1)为了突出面向对象思想,回避图形界面、音效等商业化元素带来的复杂性,建议采用同学们熟悉的控制台应用和字符界面。
(2)为此给出turbo c++几个常用函数的vc++模拟程序(VC++控制台模拟函数.txt)。严重声明,其中几个函数是DOS的处理方式,标准的windows程序平并不这么用,而是有自己的处理方式。这里只是模拟,因为同学们短时间内不可能掌握windows的处理方式。目前还没有人完全正确模拟这几个函数,其中gettext函数中的(unsigned long *)b处是我瞎碰出来的,与pu
文档评论(0)