目录
摘要····································································································· 1
第一部分
一.概述及开发工具简介··········································································· 2
二、游戏的设计思路················································································· 2
三、游戏各个功能模块介绍········································································ 6
1、通用游戏模板·············································································· 6
2、开始界面设计·············································································· 6
3、帮助界面设计·············································································· 13
4、失败界面设计·············································································· 16
5、退出界面设计·············································································· 17
6、胜利界面设计·············································································· 19
四、关键技术赏析···················································································· 21
1、字模调用技术·············································································· 21
2、运动轨迹擦除技术········································································ 21
3、游戏地图绘制技术········································································ 22
4、键盘控制技术·············································································· 23
5、无敌模式控制·············································································· 24
第二部分
总结······································································································26
第三部分
致谢······································································································ 28
参考文献································································································ 29
摘要
本次实训中着重练习了如果对程序设计进行一个整体的把握,从各个方面来
考虑游戏的架构,为了构建一个吃豆游戏函数库,使用的函数数量达到 50 个左
右,函数类别包括,图形函数、动画函数、图形文件调用函数、中文显示函数、
文字处理函数、计算机基本功能调用函数、界面函数等。
在本文中介绍了 C 语言自身提供的绘图函数,利用 C 语言绘图函数制作简单
的动画效果,在动画的基础上实现简单的图形游戏,以及在图形中如何实现中文,
通过这些函数库实现了这个吃豆游戏,也通过这个简单的游戏引导了一个设计小
型游戏的思想
本文就是给大家介绍了一套最简单的模板,无论你要写怎样的游戏,都将它
分成、动画、响应、运算和循环四部分,外加一个初始设置。只要记住 C 语言流
程图,套用之后再一步一步改写,一个游戏就出来了。怎么样,解牛的顺序知道
了吧!
第一部分
一、概述及开发工具简介
常用的编译工具有 TURBO C 2.0 和 WIN-TC 1.91
TURBO C 2.0 是经典的 C 语言编程开发工具,小巧实用,学习 C 语言课程必
备。
Borland 公司在 1981 年推出 C 语言程序设计集成开发环境“Turbo C 2.0”,由
于其实用稳定的性能,一直长期工作应用在社会不同领域,得到社会各界的广泛
认同。
但是 TURBO C 2.0 也有其缺点,它的界面似乎未能赶上发展的潮流仍停步在
DOS 时代,那蓝色的经典界面也许会让你感觉到不友好!
而 WIN-TC 的出现改变了这些让你苦恼的事。
WIN-TC 是一个 TC2 WINDOWS 平台开发工具。由 "TC256 专题站
"(http://tc256.cn.st) 与 "唯 C 世界"(http://www.vcok.com) 联合发布。该
软件使用 TC2 为内核,提供 WINDOWS 平台的开发界面,因此也就支持 WINDOWS
平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独
特特色例如语法加亮、C 内嵌汇编、自定义扩展库的支持等。并提供一组相关辅
助工具令你在编程过程中更加游刃有余,如虎添翼。
我们所使用的就是 WIN-TC!
二、游戏的设计思路
游戏导读:
吃豆游戏的规则是:红色的豆子代表自己,你需要把画面内所有黄色的小豆
豆都吃掉,但又不能掉进陷阱,而同时又有大的绿色敌人追杀你,如果你实在逃
不出敌人的魔掌,你可以吃白色的能量球,那么你就会在一定时间内处于无敌模
式,可以吃掉陷阱和敌人!如果全部黄色的小豆豆都吃掉了,那么恭喜你,您过
关了!
游戏目的:
通过整个制作游戏的功能来巩固 C 语言的理论知识!
设计思路:
游戏创意--> 游戏规划 --> 程序实现 -游戏调试;
游戏创意:
《吃豆》游戏,真可谓是一款经典到家的迷你游戏了,记得当年小时候在红
白机上,和小伙伴们一起通宵达旦地演练通关那种热火朝天的劲头,呵呵!今天
有机会能在 pc 上自己亲手制作这款经典的游戏,当然也要力求逼真,要不也对
不起广大的吃豆 Fans! 创意来源:经典的 FC 吃豆游戏!
游戏规划:
由于我也是 C 语言的初学者,水平有限不可能实现 FC 那经典吃豆游戏中的
所有功能,所以我只选择了功能其中的一部分。
我的规划很简单,就是让这个游戏用很简洁但又不失原味的方式表达出来。
此外为了尽量简化游戏编写难度我还对游戏作了以下调整:
1.不实现吃豆人的张嘴动作;
2.不实现能量球的作用时间是由时间控制的
3.不实现额外奖励加分
4.不实现奖励加人
5.不提供任意终止游戏的功能,必须将游戏进行到底
这样一来,就是游戏设计的难度大大的简化了,对游戏的编写进行一个简
单的、不全面的分析之后,我列出了以下几个难点:
1.如何绘制地图
2.吃豆人的键盘控制问题
3.敌人的随机移动控制
4.移动中如何擦除图象
5.游戏循环出口的设定
6.无敌模式时的状态
针对以上的几个难点,我在思路中给出了一点解决方案;
对于如何绘制地图,我想可以利用二维数组来实现,通过判断数组中的各
个变量来判断此处应该画什么。
如下图所示。
这里 2 代表墙壁,0 代表黄色的小豆豆,5 代表红色的陷阱,1 代表可以移动地方,3
图 2-1 地图变量设置
代表自己,4 代表敌人
那么这样就可以解决绘制地图问题了!
1. 对于吃豆人的键盘控制问题 这里我们控制移动是通过坐标的,那么我们控制
移动只要控制坐标就可以了,可以先判断是按下了哪个方向然后对应着计算出不
同方向的坐标变化,然后判断移动之后的情况再从新计算坐标就可以了!
2. 对于敌人的随机移动控制问题 这里要比上面的吃豆人的控制要复杂很多,但
是原理还是一样的,只不过要多处理一下判断是敌人和自己是否靠近,如果靠近
的话那么就要立即靠上去吃掉。另外的就是如何开始敌人的移动呢?我将敌人的
移动循环的条件设置为当不按下键盘的时候,那么敌人就会实现一直再动的效果
了。
3. 对于移动中如何擦除图象的问题 这里我利用了实训第一个项目内的曲柄滑
块擦除图象的原理,通过一个子函数来专门实现画路过图象的功能!
4. 对于游戏循环出口的设定 这里我分析了一下游戏的逻辑,即
开始游戏之后如果胜利则进入胜利界面,失败即进入失败界面,如果所有生命全
部死光那么则进入退出界面。再每个界面又可以选择继续还是退出。
5. 对于无敌模式时的状态 这里和擦出图象有很大的联系,只要在擦出图象的函
数内添加一个判断是否是无敌状态并修改一下画图模式就可以实现了
到这里问题一下子变简单了,只要画好几个相应的界面似乎就要大功告成啦!
在规划阶段,我们不仅将游戏创意明确是为了程序编写要求和编写计划,
同时对在程序编写前遇到的难点进行分析和提出大致解决方案,这些方案对程序
编写是极为重要的,因为在程序设计阶段将变成具体的算法、语句和表达式。
这里值得一提的是,在规划阶段我们应该对关键、重要变量十分了解。有几个关
键变量,分别代表什么,在程序中起什么作用。
程序实现
大家可能急不可耐的想看程序了吧。在这之前仍然还有几件事情需要做:
1. 决定使用哪些变量
struct play
/*游戏中人物的结构体*/
{
int x;
int y;
};
struct play you,them[5];
qiangli、 xiaoli 分别用来控制是否吃了能量球和能量球作用时间!
2.程序流程设计
三、功能模块:
通用游戏编程模板
下面的是一个通用游戏编程模板,我们要始终记着这个模板。万变不离其
宗,绝大多数的游戏都逃不出这个格式
#include …
#define…
Void main(void)
{
int a,b,c;
a=1;
b=2;
c=3;
***();
getch();
}
下面给出“吃豆游戏”功能模块介绍:
开始界面预览:
开 始 界 面 的 程 序 :
d o w b e g a i n ( ) {
i n t i , j = 1 0 , m = 6 4 , q , w = 1 ;
i n t k e y ;
s e t b k c o l o r ( 0 ) ;
s e t c o l o r ( 0 ) ;
/ *
w h i l e ( k > = 1 0 )
{
k - - ;