19熊必成 扫雷小游戏

19熊必成 扫雷小游戏

ID:39889817

大小:762.00 KB

页数:12页

时间:2019-07-14

19熊必成 扫雷小游戏_第1页
19熊必成 扫雷小游戏_第2页
19熊必成 扫雷小游戏_第3页
19熊必成 扫雷小游戏_第4页
19熊必成 扫雷小游戏_第5页
资源描述:

《19熊必成 扫雷小游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编号:Z04411014学号:201230410119QT编程基础期末考查报告教学院计算机学院专业班级12级计算机应用技术系统题目扫雷姓名熊必成任课教师姚莉22014年6月6日2一、扫雷小游戏系统设计(题目说明)该扫雷小游戏是要在最短的时间内根据点击格子出现的数字找出所有非雷的格子,同时还要避免踩雷用鼠标点击格子可以选中区域来选择自己所判断的非雷区,右键可以标记自己可以确定的雷区。当所有的地雷被选中或者翻开所有的非雷格子,则游戏通关,如果踩到地雷则游戏失败。游戏还可以选择难度,难度越大,所需解决的区域越大。同时在进行游戏的同时还会计时,完成的时间越短

2、,则成绩越好,最后的记录排名也越高。二、系统的设计与实现(题目完成情况)从游戏规则中,可以推断出Block至少应该具有以下性质:性质1、具有或者不具有地雷标志性质2、翻开或者未翻开两种状态性质3、周边地雷的个数另外,根据平时接触的扫雷游戏,玩家可以在方块上安插旗帜,表明自己确认此方块为地雷,因此方块还具有性质4:被安插或者移除旗帜下面讨论一下鼠标事件,这里只实现鼠标左键单击与鼠标右键单击事件。当点击鼠标左键时说明此方块进行了翻开操作,如果方块是地雷,发出一个explode()信号,如果不是地雷,发出一个信号,同时显示数字。这动作应当在无效前提下进行,

3、因为如果有效,则说明此方块已经翻开了,没有必要重做,如果有效,则说明玩家标志此方块有雷,不应该去翻开。当点击鼠标右键操作,进行旗帜安插或者移除操作,这动作应该在无效的前提下进行,因为对于一个已经翻开的方块,安插毫无意义。综上所述,则可以定义如下的类和事件。定义block类block::block(inti,QWidget*parent):QPushButton(parent){id=i;num=0;marked=false;setFixedSize(25,25);setCheckable(true);}定义鼠标事件voidblock::mousePr

4、essEvent(QMouseEvent*e){if(e->button()==Qt::LeftButton&&!marked){if(num==9){setIcon(QIcon(":/image/boom.png"));emitlost();}9else{emitexpand(id);}}if(e->button()==Qt::RightButton){if(marked){marked=false;setIconSize(QSize(0,0));emitmarkDecrease();}else{marked=true;setIcon(QIcon(

5、":/image/flag.png"));setIconSize(QSize(15,15));emitmarkIncrease();emittestWin();}}}定义按钮事件classblock:publicQPushButton{Q_OBJECTpublic:explicitblock(inti,QWidget*parent=0);voidsweep();//显示当前blockboolisMine(){returnnum==9?true:false;}voidsetMine(){num=9;}voidnumIncrease(){num==9?:

6、num++;}intindex(){returnid;}intisNum(){returnnum;}boolisMarked(){returnmarked;}简单,中等,困难的难度选择voidWidget::newEasy(){for(inti=0;i

7、ount;Initialize();this->setFixedSize(600,350);}voidWidget::newNormal(){for(inti=0;isetFixedSize(750,500

8、);}voidWidget::newDifficult(){for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。