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

java小項(xiàng)目之:掃雷,這游戲其實(shí)沒(méi)有那么簡(jiǎn)單!

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

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

本文名稱(chēng):java小項(xiàng)目之:掃雷,這游戲其實(shí)沒(méi)有那么簡(jiǎn)單!
鏈接URL:http://chinadenli.net/article38/gicdpp.html

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

廣告

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

外貿(mào)網(wǎng)站制作