欢迎来到天天文库
浏览记录
ID:32749445
大小:351.60 KB
页数:28页
时间:2019-02-15
《基于linux的gtk图形界面编程扫雷游戏设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Linux的GTK+图形界面编程——扫雷游戏设计摘要本篇课程设计主要说明使用Linux下的GTK+2.0库开发一个简单的扫雷程序,建立一个图片矩阵,由于图片控件不能接收事件,必须将它们放到事件盒屮,才能接收到事件。这样就能处理鼠标事件以及鼠标事件对应的图片显示处理,并对用户的操作做出提示。最后可以完成基本的扫雷任务,由于本人能力有限,无法设计自定义的游戏级别,只能使用规定了的游戏级别。关键词:linux;扫雷;GTK+;游戏MINESWEEPERGUIPROGRAMMINGBASEONGTK+GAME
2、DESIGNABSTRACTThiscoursedesignmainlydescribehowtodevelopaminesweepergamebyGTK+libraryinLinux.FirstIcreateamatrixofpicture,Imustputtheyoneventboxforwidgetofpicturecan^treceiveevent.Whenusersclickonthepicture,theprogramcandealwithdisplayofpicturesanddisplay
3、sometips.Thisprogramcanmanageoperatorofminesweepe匸Butduetothelimitofmyability,userscan'tdefinethelevelofthegame,theycanonlyusedefinedlevel.Keywords:linux;minesweeper;GTK+;Game1引言41.1课程设计的目的41.2系统性能要求41.3功能的实现42系统概要设计52.1概要设计52.2系统功能组成52.3主要流程图53功能实现73.1产生
4、雷的位置73.2建立游戏界面7在建立图像界面的时候,首先是创建主窗口,然后是创建一个表用于排版。然后创建需要的数量图片控件,并将事件盒与其对应。然后在窗口的下面显示旗标的个数,然后创建一个〃重新开始〃的按钮,然后显示整个图形了并进入消息循环。73.3鼠标左击事件处理103.4雷都被标中123.5选择菜单12参考文献15致谢16附录171引言1-1课程设计的目的扫雷最原始的版本可以追溯到1973年一款名为“方块叩勺游戏。不久之后,“方块”被改写成了游戏“Rlogic二在“RlogiL里,玩家的任务是作为美国
5、海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆•安德森在"Rlogic-的基础上又编写出了游戏“地雷二由此奠定了现代扫雷游戏的雏形。1981年,微软公司的罗伯特•杜尔和卡特•约翰逊两位工程师在Windows3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。因此设计一个linux下的简单的扫雷游戏。1.2系统性能要求能够在linux使用的小型gtk游戏,能够处理用户的点击操作等。这款游戏的玩法是在一个9*9(初级),16*16(中级),16*30(高级)
6、,或自定义大小的方块矩阵中随机布置一定量的地雷(初级为10个,中级为40个,高级为99个)。由玩家逐个翻开方块,以找出所有地雷为最终游戏目标。如果玩家翻开的方块有地雷,则游戏结束。扫雷游戏的目标是尽快找到雷区中的所有不是地雷的方块,而不许踩到地雷。点开的数字是儿,则说明该数字旁边的8个位置中有儿个雷,如果挖开的是地雷,则会输掉游戏。1.3功能的实现1)对于用户左键点击,能够挖雷,以及判别挖到的是雷或者不是雷,并且显示相关的信息2)对于用户右键点击,能够标记,并且显示相关的信息3)如果用户全部标记了雷,或者
7、挖到雷,显示用户输赢信息2系统概要设计2.1概要设计在整个程序的设计过程当中,主要是GTK界面的设计,还有一些对于扫雷处理的一些基本算法,比如深度优先搜索等。界面布局是模仿系统自带的布局,并在雷区中建立二维的图片矩阵,由于图片不能产生事件③,因此需要将图片放在事件盒中,以监听事件。游戏屮有3个难度等级,分别为初级、中级和高级,不同等级的雷区大小和雷的个数都是不相同的,等级在菜单中选择。初级的雷区为8*8的矩阵,并有10个雷;中级的雷区为16*16的矩阵,并有40个雷;初级的雷区为16*28的矩阵,并有90
8、个雷。排雷过程屮使用的只有鼠标,右键标记一个地方为雷,左键点击时提示被点击的单元旁边8个单元。2.2系统功能组成(1)建立雷区的图形(2)处理鼠标事件,右键左键的点击,并进行处理(3)菜单选择,选择游戏的难度图2.1主要功能图2.3主要流程图图2.2详细流程图3功能实现3.1产生雷的位置程序首先是创建一个二维数组并且附初值0,然后产生小于矩阵长和宽乘积的数,这个数可以唯一的表示成数组的一个坐标,这个坐标就作为一个雷,同样产生其
此文档下载收益归作者所有