欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java小項目之:掃雷,這游戲其實沒有那么簡單!

掃雷
我之前分享的小項目和小游戲,電影購票、坦克大戰(zhàn)、捕魚達人、貪吃蛇等,雖然已經(jīng)是耳熟能詳人盡皆知的項目和游戲,但是保不齊真的有人沒接觸過。
今天分享的這個項目,我不相信沒人接觸過(僅限80后-00后)。掃雷,這幾乎所有電腦都有的一款超級小游戲,在全國各地的微機課上飽受歡迎,玩法緊張刺激、老少皆宜,而且還益智。今天便分享用java怎么實現(xiàn)這一款神作。(文末附帶源碼素材獲取方式)
游戲介紹:
掃雷就是要把所有非地雷的格子揭開即勝利;踩到地雷格子就算失敗。
游戲主區(qū)域由很多個方格組成。使用鼠標左鍵隨機點擊一個方格,方格即被打開并顯示出方格中的數(shù)字;方格中數(shù)字則表示其周圍的8個方格隱藏了幾顆雷;如果點開的格子為空白格,即其周圍有0顆雷,則其周圍格子自動打開;如果其周圍還有空白格,則會引發(fā)連鎖反應;在你認為有雷的格子上,點擊右鍵即可標記雷;如果一個已打開格子周圍所有的雷已經(jīng)正確標出,則可以在此格上同時點擊鼠標左右鍵以打開其周圍剩余的無雷格。
java小項目之:掃雷,這游戲其實沒有那么簡單!
1代表1的上下左右及斜角合計有一顆雷,依次輪推,2則有2顆,3則有3顆..
在確實是炸彈的方格上點了旗子,就安全了,不是炸彈的被點了旗子,后面會被炸死的..問號就先不確定這里有沒有炸彈,不會存在點錯了被炸死的狀況..
有個小竅門,在數(shù)字旁同時點左鍵和右鍵可以排雷..
第一下點的一定不是雷, 左鍵點開,右鍵用旗子標記雷,同時左右鍵點數(shù)字可以判斷周圍的雷是否已經(jīng)全部標出..
每個數(shù)字代表 這個數(shù)字周圍九個格里,有幾顆雷!比如,1,周圍九個格里只有一顆雷,2 周圍九個格里就有兩顆雷,以此類推 ..通過單擊即可挖開方塊。如果挖開的是地雷,則您輸?shù)粲螒?.如果方塊上出現(xiàn)數(shù)字,則表示在其周圍的八個方塊中共有多少顆地雷..要標記您認為可能有地雷的方塊,請右鍵單擊它..
游戲區(qū)包括雷區(qū)、地雷計數(shù)器和計時器..數(shù)字就是這個方塊周圍的8個方塊里有的雷的數(shù)量,問號是自己弄上去的,可以的地方可以弄個問號,旗子就是確定那里有雷了..
代碼介紹:
主要運用java語言來完成。Java語言是一種跨平臺,適合于分布式計算環(huán)境的面向對象編程語言,用Java寫的應用程序不用修改就可在不同的軟硬件平臺上運行。
1、設計整個游戲的結構,一般采用MVC作為整個游戲的結構,結構清晰又容易理解。
2、一般來說,做這些游戲的時候,我們先從底層的model開始做起。在這里,model部分就是由兩張二維數(shù)組表組成,其中一張是mine,他上面放的就是一些最底層的數(shù)據(jù),也就是說雷得分布情況。另外一張表是界面表chess,就是記錄一些顯示給用戶的數(shù)據(jù)。
3、然后要做的是對兩張表的初始化,這一步非常重要,對于第一張表mine的的初始化的方法為先隨機n個不重復的雷,分布到mine表中,然后,對雷周圍的格子進行賦值。這里我用到方法為:遍歷所有的雷,將雷周圍的格子加一,這樣就能達到賦數(shù)值這個工作了。其中,這里有一個難點,就是如何判定雷周圍的八個格子,其實方法很多,但是大多代碼繁瑣,或者處理邊界困難。這里我用到的方法是,計算兩個格子之間的距離,如果與雷的距離為1或者根號2的話,就能確定該格子在雷的周圍。然后是對chess進行初始化,chess就是界面表,也就是說,這里的數(shù)據(jù)是直接顯示給用戶看的。當然,初始化部分就是直接將賦值為板,就是等待去掃雷的狀態(tài)。
4、 然后就是掃雷部分,就是點擊一個格子,利用jlabel的觸發(fā)器將格子坐標傳送到controller中去,controller中根據(jù)mine表判斷點擊的是什么,分三種情況,如果是雷,那就將底層的所有數(shù)據(jù)都賦到chess中,然后gameover。如果是數(shù)字,那就直接把數(shù)字賦值到chess中去。如果是0,那就非常麻煩了,這也是這個游戲中的一個難點,玩過掃雷的同學應該都知道,點擊0時,會散開周圍所有的0.我這邊的解決方法是,將點到的0的坐標加到list里面去,在遍歷這個list,取出里面的坐標,查找他周圍的8個格子,如果是0,且坐標不與list中的中的坐標重復,就將第二次查找到的坐標放到list里面,然后取list的下一個值,點擊這個點,然后就是循環(huán)上面的語句。
5 、游戲中的另一個難點是,在游戲過程中,左右鍵同時點擊數(shù)字,會有一個提示,這里的做法是如果如果是數(shù)字的格子,監(jiān)聽到左右鍵同時點擊數(shù)字事件,查找這個格子周圍的8個格子的紅旗數(shù),如果周圍的紅旗數(shù)正好是格子上的數(shù)字,那么就將除紅旗之外的所有內容都顯示出來。
素材展示:
java小項目之:掃雷,這游戲其實沒有那么簡單!
需要游戲源碼和素材練手的小伙伴可以私信我領取!
如果喜歡這樣文章的可以關注我,我會持續(xù)更新,你們的關注是我更新的動力!
祝關注我的人都:身體健康,財源廣進,福如東海,壽比南山,早生貴子,從不掉發(fā)!

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計制作、成都網(wǎng)站建設、文安網(wǎng)絡推廣、微信小程序開發(fā)、文安網(wǎng)絡營銷、文安企業(yè)策劃、文安品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供文安建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.chinadenli.net

本文名稱:java小項目之:掃雷,這游戲其實沒有那么簡單!
鏈接URL:http://www.chinadenli.net/article38/gicdpp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司商城網(wǎng)站網(wǎng)頁設計公司做網(wǎng)站網(wǎng)站設計小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網(wǎng)站制作