欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    扫雷游戏代码Word格式.docx

    • 资源ID:18512860       资源大小:23.26KB        全文页数:25页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    扫雷游戏代码Word格式.docx

    1、QLabel(parent) mine_flag_=mine_flag; mark_flag_=false; turn_over_flag_=false; number_=-1; setPixmap(QPixmap(/images/normal.png);void Block:set_number(int number) number_=number;turn_over() if(!turn_over_flag_) turn_over_flag_=true; if(mine_flag_) setPixmap(QPixmap(/images/mine.png else/images/mine_+

    2、QString(%1).arg(number_)+.png update(); bool Block:is_mine()const return mine_flag_;is_turn_over()const return turn_over_flag_;/*鼠标事件的实现*/mousePressEvent(QMouseEvent* event) if(event-button()=Qt:LeftButton) if(!turn_over_flag_&!mark_flag_) turn_over_flag_=true; if(mine_flag_=true) setPixmap(QPixmap(

    3、 update(); emit turn_over(true); else emit turn_over(false); else if(event-RightButton) if(! mark_flag_=true;/images/flag.png mark_flag_=false; update(); QLabel:mousePressEvent(event);#ifndef BLOCK_AREA_H_#define BLOCK_AREA_H_class QEvent;class QGridLayout;class QObject;class BlockArea:public QWidge

    4、t BlockArea(int row,int column,int mine_number,QWidget* parent=0); void set_block_area(int row,int column,int mine_number,int init_flag=false); void game_over(bool is_win); bool eventFilter(QObject* watched, QEvent* event);private slots: void slot_turn_over(bool is_mine); int calculate_mines(int x,i

    5、nt y)const; /璁畻浠 ,y涓轰腑蹇幂殑涔濆 镙煎唴镄勯浄鏁 void try_to_turn_over_more_blocks(int x,int y); QGridLayout* mainLayout; int row_; int column_; int total_block_number_; int total_mine_number_; int turn_over_block_number_; bool game_over_flag_;/*block_area.h*/block_area.halgorithmQEventQGridLayoutQLayoutQObjectQ

    6、QueueQTime/*雷的随机布置*/ptrdiff_t random(ptrdiff_t i) return qrand()%i;ptrdiff_t (*p_random)(ptrdiff_t)=random;BlockArea:BlockArea(int row,int column,int mine_number,QWidget* parent)QWidget(parent) set_block_area(row,column,mine_number,true);void BlockArea:set_block_area(int row,int column,int mine_numb

    7、er,int init_flag)init_flag) for(int i=0;irow_;i+) for(int j=0;jcolumn_;j+) delete static_cast(mainLayout-itemAtPosition(i,j)-widget(); delete mainLayout; row_=row; column_=column; total_block_number_=row_*column_; total_mine_number_=mine_number; turn_over_block_number_=0; game_over_flag_=false; bool

    8、 mine_flagtotal_block_number_; for(int i=0;total_mine_number_; mine_flagi=true; for(int i=total_mine_number_;total_block_number_; mine_flagi=false; QTime time; time=QTime:currentTime(); qsrand(time.msec()+time.second()*1000); std:random_shuffle(mine_flag,mine_flag+total_block_number_,p_random); main

    9、Layout=new QGridLayout(this); for(int j=0; mainLayout-addWidget(new Block(mine_flagi*column_+j),i,j);i+)j+) Block* current_block=static_castset_number(calculate_mines(i,j); connect(current_block,SIGNAL(turn_over(bool),this,SLOT(slot_turn_over(bool);installEventFilter(this); bool BlockArea:eventFilte

    10、r(QObject* watched, QEvent* event) if(game_over_flag_) if(event-type()=QEvent:MouseButtonPress) return true; return QWidget:eventFilter(watched,event);slot_turn_over(bool is_mine) if(is_mine) game_over_flag_=true; emit game_over(false); else +turn_over_block_number_; if(turn_over_block_number_=total

    11、_block_number_-total_mine_number_) game_over_flag_=true; emit game_over(true); else for(int i=0; for(int j=0; if(sender()=static_cast=0) & (x-1+i (y-1+jcolumn_) ) if(static_castwidget()-is_mine() +number; return number;try_to_turn_over_more_blocks(int x,int y) QQueueQPair queue; QPair (pair.first-1+

    12、i (pair.second-1+jcolumn_) ) if(!static_castis_turn_over() static_castQTimerclass QAction;class QActionGroup;class QCloseEvent;class QMenu;class QToolBar;class MainWindow:public QMainWindow MainWindow(QWidget* parent=0); void closeEvent(QCloseEvent* event); void slot_new_game(); void slot_rank(); vo

    13、id slot_show_game_toolBar(bool show); void slot_show_statusBar(bool show); void slot_standard(QAction* standard_action); void slot_about_game(); void slot_game_over(bool is_win); void slot_timer(); void read_settings(); void write_settings(); void create_actions(); void create_menus(); void create_g

    14、ame_toolBar(); void create_statusBar(); BlockArea* area_; int mine_number_; int easy_record_time_; int middle_record_time_; int hard_record_time_; QString easy_record_name_; QString middle_record_name_; QString hard_record_name_; int current_standard_; QMenu* game_menu; QMenu* setting_menu; QMenu* h

    15、elp_menu; QToolBar* game_toolBar; QAction* new_game_action; QAction* rank_action; QAction* exit_action; QAction* show_game_toolBar_action; QAction* show_statusBar_action; QAction* easy_standard_action; QAction* middle_standard_action; QAction* hard_standard_action; QAction* custom_standard_action; Q

    16、ActionGroup* standard_actionGroup; QAction* about_game_action; QAction* about_qt_action; QLabel* time_label; QTimer timer;main_window.hQActionQActionGroupQApplicationQDialogQDialogButtonBoxQHBoxLayoutQIconQInputDialogQMenuQMenuBarQMessageBoxQPushButtonQSettingsQSpinBoxQStatusBarQToolBarQVBoxLayout/*

    17、关于游戏介绍的信息*/const QString g_software_name=Mine Sweeper;const QString g_software_version=1.2const QString g_software_author=CHANGHUIZHEN/*关于排行榜的信息*/const int g_no_record_time=9999;const QString g_no_record_name=MainWindow:MainWindow(QWidget* parent)QMainWindow(parent) area_=new BlockArea(9,9,10);/一般设置

    18、 connect(area_,SIGNAL(game_over(bool),this,SLOT(slot_game_over(bool); setCentralWidget(area_); create_actions(); create_menus(); create_game_toolBar(); create_statusBar(); QCoreApplication:setOrganizationName(g_software_author);setApplicationName(g_software_name); read_settings(); layout()-setSizeCo

    19、nstraint(QLayout:SetFixedSize); setWindowTitle(g_software_name); setWindowIcon(QIcon(/game.png /*等待最长时间,到时间就会提示游戏失败*/ timer.start(1000); connect(&timer,SIGNAL(timeout(),this,SLOT(slot_timer(); slot_new_game();void MainWindow:closeEvent(QCloseEvent*) write_settings();slot_new_game() area_-set_block_area(row_,column_,mine_number_); time_label-setText(0); time.restart(); timer.start();slot_rank() QDialog dialog; dialog.setWindowTitle(tr(rank QGridLayout* up_layout=new QGridLayout; up_layout-addWidget(new QLabel(tr(Standard),0,0);Time),0,1);Name),0,2);a


    注意事项

    本文(扫雷游戏代码Word格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开