亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Qt4的掃雷游戲的設計與實現

        2012-08-08 02:31:52鄧志良
        網絡安全與數據管理 2012年16期
        關鍵詞:界面游戲功能

        柯 勝,孫 進,鄧志良

        (1.江蘇科技大學,江蘇 鎮(zhèn)江 2120031;2.常州信息職業(yè)技術學院,江蘇 常州 213164)

        最初以訓練鼠標操作為目的而設計的掃雷游戲是一款經久不衰的Windows平臺休閑游戲。盡管Windows操作系統經歷數次換代,變得越來越龐大、復雜,但這個可愛的小游戲在任何版本的Windows操作系統里卻依然保持著原貌,幾乎每個電腦使用者都接觸過[1]。

        Qt是諾基亞開發(fā)的一個跨平臺的C++圖形用戶界面應用程序框架。它為應用程序開發(fā)者提供建立藝術級的圖形用戶界面所需的所有功能。Qt是完全面向對象的,很容易擴展,并且允許真正地組件編程。自1996年,Qt進入商業(yè)領域,它已經成為全世界范圍內數千種成功的應用程序的基礎。Qt也是流行的Linux桌面環(huán)境KDE的基礎?;旧?,Qt與X Window上的Motif、Openwin、GTK等圖形界面庫和 Windows平臺上的 MFC、OWL、VCL、ATL屬同類型,但 Qt具有優(yōu)良的跨平臺特性、面向對象、豐富的API、大量的開發(fā)文檔等優(yōu)點[2]。

        本課題是在Linux系統下設計并開發(fā)的,設計了一款基于Qt環(huán)境的掃雷游戲,使用了C++語言程序。

        1 掃雷游戲主界面的設計

        游戲主界面由菜單、游戲區(qū)、按鈕區(qū)、信息顯示區(qū)等幾部分構成,如圖1所示。Qt提供了一套完整的GUI模塊,能夠完成基本的Windows窗體應用程序,因此可以簡單地為掃雷程序制作出界面[3]。圖1主要通過子類化QmainWindow創(chuàng)建掃雷游戲應用程序用戶界面。Qt還提供了定時器,能夠完成游戲的計時。

        2 鼠標事件的處理

        當點擊鼠標左鍵時,設置ok_flag_為true,說明此方塊進行了翻開操作。如果方塊是地雷,發(fā)出一個explode()信號;如果不是地雷,發(fā)出一個safe()信號,同時顯示數字。這動作應當在ok_flag_無效且mark_flag_也無效的前提下進行,因為如果ok_flag_有效,則說明此方塊已經翻開了,沒有必要重做;如果mark_flag_有效,則說明玩家標志此方塊有雷,不應該去翻開,否則即為自取滅亡。

        點擊鼠標右鍵進行旗幟安插或者移除操作應該在ok_flag_無效的前提下進行,因為對于一個已經翻開的方塊,安插毫無意義。

        類的定義如下:

        下面是代碼實現部分:

        設計的實現比較簡單,需要說明的是本文模擬的鼠標事件并不是單擊而是按下,這對于掃雷已經足夠了。同時,會發(fā)現兩個信號函數沒有實現,這個工作會由moc自動完成,因此不必在.cpp中實現,并且它們永遠不會有返回值(即 void)。

        3 初始化

        3.1 雷區(qū)/非雷區(qū)的產生

        下面是BlockArea的構造函數:

        3.2 周邊雷數的計算

        要計算(x,y)位置周邊地雷的個數,首先需計算出一個點,然后判斷此點是否落在BlockArea中,如果落在BlockArea中,再判斷是否是雷,如果是,則計數器加1。

        該掃雷游戲在Qt4和Red Hat Enterprise Linux 4操作系統上成功實現,能在Windows和Linux平臺下運行。除能實現基本的左鍵打開、右鍵標記的掃雷功能以外,還能實現計時、自定義游戲難度、作弊、語音提示等擴展功能。經過試驗測試,界面美觀,結果正確,各項功能達到游戲要求。該實現方法對其他基于Qt的游戲開發(fā)起到了拋磚引玉的作用,其中的鍵盤、鼠標等功能的實現方法可用于其他Qt編程,同時對各專業(yè)人員借助Qt快速開發(fā)具備強大計算機功能的專業(yè)應用軟件具有重要的意義。

        [1]陳子為.基于 Matlab GUI掃雷游戲的設計與實現[J].現代電子技術,2008(24):85-88.

        [2]BLANCHETTE J,SUMMERFIELD M.C++GUI QT4 編程(第二版)[M].北京:電子工業(yè)出版社,2008.

        [3]張建強,張秀梅.掃雷游戲策略初探[J].數學教學,2004(6):32-33.

        [4]成潔,盧紫毅.Linux窗口程序設計——Qt精彩實例分析[M].北京:清華大學出版社,2008.

        [5]趙大偉,肖周芳,張艷.從掃雷游戲淺談一些算法問題[J].科技信息,2008(29):69.

        [6]錢會敏,于守秋.自動掃雷算法淺談[J].科技創(chuàng)新導報,2009(31):250.

        [7]劉艷青,蘇桂蓮.基于Qt4的圖形用戶界面程序的設計與實現[J].現代計算機(專業(yè)版),2009(3):170-172.

        猜你喜歡
        界面游戲功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        國企黨委前置研究的“四個界面”
        當代陜西(2020年13期)2020-08-24 08:22:02
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        關于非首都功能疏解的幾點思考
        人機交互界面發(fā)展趨勢研究
        數獨游戲
        瘋狂的游戲
        飛碟探索(2016年11期)2016-11-14 19:34:47
        爆笑游戲
        第八章直接逃出游戲
        小學科學(2015年7期)2015-07-29 22:29:00
        手機界面中圖形符號的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        激情久久无码天堂| 欧美性猛交xxxx免费看蜜桃| 私人毛片免费高清影视院| 全免费a级毛片免费看视频| 日韩av无卡无码午夜观看| 成人免费毛片立即播放| 美女视频黄是免费| 国产精品亚洲一区二区三区在线| 国产免费专区| 一本大道综合久久丝袜精品| 国产嫩草av一区二区三区| 精品国产拍国产天天人| 国产欧美乱夫不卡无乱码| 熟妇高潮一区二区三区| 国产精品久久1024| 国产一区二区免费在线观看视频| 在线观看视频日本一区二区| 中文字幕人妻少妇引诱隔壁| 宅男噜噜噜| 久久精品av一区二区免费| 国产精品一区二区黑丝| 狼人香蕉香蕉在线28 - 百度| 久久精品国产亚洲vr| 最新国产主播一区二区| 国产偷国产偷亚洲高清视频| 97久久精品无码一区二区天美 | 蜜芽尤物原创AV在线播放| 亚洲一区二区三区成人网| 婷婷丁香五月激情综合| 欧美成人形色生活片| 米奇亚洲国产精品思久久| 久久精品亚州中文字幕| 亚洲av成人无码精品电影在线| 人妻少妇不满足中文字幕| 在线观看国产av一区二区| 国产在线无码精品无码| 不卡高清av手机在线观看| 大屁股少妇一区二区无码| 国产精品久久av色婷婷网站| 99精品国产在热久久无码 | 国产精品一区二区三区成人|