目录
一、实验内容 1
二、设计思路与功能描述 1
2.1 菜单设计 1
2.1.2 菜单样式说明 3
2.1.2.2 自定义难度页面自由选择设置元素 3
2.1.2.3 弹出样式设计 4
2.2 扫雷游戏设计 5
2.2.2 扫雷地图生成 7
2.2.3 扫雷过程的实现 8
2.2.4 提示 UI 的实现 8
三、项目亮点与情况说明 9
3.1 项目亮点 9
3.2 诸多情况说明 10
四、遇到的问题与解决方法 10
4.1 遇到的问题 10
4.2 解决方法 10
五、心得体会 12
六、源代码 12
一、实验内容
根据 OJ 所提供的框架代码,编写并完成一个扫雷游戏,从而达到营救陈博士的最终目的。
二、设计思路与功能描述
2.1菜单设计
2.1.1菜单结构说明
本次大作业项目的菜单结构与使用逻辑设计如下:
2.1.2菜单样式说明
2.1.2.1与鼠标的交互
本项目各级菜单的设计都遵从了类似于 OJ 所发布的框架的样式——即随着鼠标的移动,对应可选项的背景变白,而当鼠标移开后,该对应可选项又将会恢复至黑底白字的状态。
该功能的实现主要是将鼠标所指向位置与当前页面各个选项的网格区域所划分的位置进行对比,从而识别出当前鼠标所指向的位置。之后再将所指选项的信息传递到对应的函数,使刚被指到的选项背景变为渐变的白色,使被指向之后的选项背景变为黑色。
通过上述网格对照的方法,不仅可以达到与鼠标移动的交互动画效果,还能得到鼠标按键被按下时,用户所想要选定的目标选项。从而完成菜单界面与用户的鼠标交互。
交互的截屏展示如下: