龙源期刊网httpwwwqika
comc
基于Qt的贪吃蛇游戏设计与实现
作者:成丽君张宇波来源:《电子技术与软件工程》2013年第23期
摘要:本文中描述的系统是基于Qt、C技术在Wi
dows开发环境下开发的一个操作简单、界面简洁、功能有所改进的“贪吃蛇”游戏。本文重点描述了四个模块的实现,尤其是模式
f龙源期刊网httpwwwqika
comc
管理模块,描述了设置小蛇是否可以穿墙,通过这一设置可以改变游戏的难度,增强游戏的趣味性,这是该设计的一大特点。
【关键词】QT贪吃蛇模块C
贪吃蛇游戏是家喻户晓的益智类小游戏,本文中的贪吃蛇游戏是采用了一个跨平台的图形用户界面应用程序框架Qt,是在Wi
dows的开发环境下结合Qt和C技术开发的一款游戏,其中实现了贪吃蛇的移动,食物的随机出现,贪吃蛇的吃到食物后增长的功能,同时也可以计算游戏玩家的分数和等级,来显示玩家的每次的游戏状态。同时,还添加了一个功能,允许玩家自己自由设置是否可以穿墙,因为随着玩家等级的增长,小蛇的移动速度会有所增加。当玩家的等级升到相对高的等级以后,小蛇的移动速度会比开始时候的速度快很多,在相对一定的活动范围内,游戏的难度就增大了。
1游戏的流程图
系统中设计到的函数及函数之间的调用执行流程,在定义S
ake对象时,系统自动调用构造函数初始化系统如图1所示:
系统执行过程中的主要函数及他们之间的执行流程如图2所示:
2游戏模块的设计与实现
贪吃蛇游戏系统划分为八大模块:布局管理模块、初始化管理模块、模式管理模块、绘图管理模块、按键管理模块、信号连接管理模块、更新管理模块、判断游戏结束管理模块。在此为读者描述其中四个模块。
21模式管理模块
模式管理模块主要由玩家自己自由设置是否可以穿墙,默认设置是禁止穿墙。玩家点击窗口“点击设置是否穿墙的”的按钮可以在允许穿墙和禁止穿墙之间切换模式。因为默认设置是禁止穿墙,因此一开始系统要判断当前模式是允许穿墙还是禁止穿墙,如果当前模式和默认设置不一样,那么系统就会认为当前模式是允许穿墙,那么点击后系统模式就会变为禁止穿墙;如果当前模式和默认设置相投,那么系统就会认为当前模式是禁止穿墙,那么点击后系统模式就会变为允许穿墙。
22绘图管理模块
要想在绘图设备(一般是窗口部件)上绘图,只需创建一个QPai
ter,再将指针传到该设备中。注意矩形的大小(宽和高)也许与你通常所用的所有不同。如果左上角和右下角相同,那么这个矩形的宽和高都为1。通常情况r