16附录17
f基于Li
ux的GTK图形界面编程扫雷游戏设计
1引言
11课程设计的目的
扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。不久之后,“方块”被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。1981年,微软公司的罗伯特杜尔和卡特约翰逊两位工程师在Wi
dows31系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。因此设计一个li
ux下的简单的扫雷游戏。
12系统性能要求
能够在li
ux使用的小型gtk游戏,能够处理用户的点击操作等。这款游戏的玩法是在一个99初级,1616中级,1630高级,或自定义大小的方块矩阵中随机布置一定量的地雷初级为10个,中级为40个,高级为99个。由玩家逐个翻开方块,以找出所有地雷为最终游戏目标。如果玩家翻开的方块有地雷,则游戏结束。扫雷游戏的目标是尽快找到雷区中的所有不是地雷的方块,而不许踩到地雷。点开的数字是几,则说明该数字旁边的8个位置中有几个雷,如果挖开的是地雷,则会输掉游戏。
13功能的实现
1)对于用户左键点击,能够挖雷,以及判别挖到的是雷或者不是雷,并且显示相关的信息2)对于用户右键点击,能够标记,并且显示相关的信息3)如果用户全部标记了雷,或者挖到雷,显示用户输赢信息
4
f基于Li
ux的GTK图形界面编程扫雷游戏设计
2系统概要设计
21概要设计
在整个程序的设计过程当中,主要是GTK界面的设计,还有一些对于扫雷处理的一些基本算法,比如深度优先搜索等。界面布局是模仿系统自带的布局,并在雷区中建立二维的图片矩阵,由于图片不能产生事件③,因此需要将图片放在事件盒中,以监听事件。游戏中有3个难度等级,分别为初级、中级和高级,不同等级的雷区大小和雷的个数都是不相同的,等级在菜单中选择。初级的雷区为88的矩阵,并有10个雷;中级的雷区为1616的矩阵,并有40个雷;初级的雷区为1628的矩阵,并有90个雷。排雷过程中使用的只有鼠标,右键标记一个地方为雷,左键点击时提示被点击的单元旁边8个单元。
22系统功能组成
(1)建立雷区的图形(2)处理鼠标事件,右键左键的点击,并进行处理(3)菜单选择,选择游戏的r