HTML5掃雷游戲,一款簡(jiǎn)單的程序掃雷游戲,支持易語(yǔ)言編譯器環(huán)境,直接上傳生生后即可游玩,可以選擇多種難度。支持在HTML5的瀏覽器上體驗(yàn),想要嘗試經(jīng)典掃雷游戲的朋友們不妨試試吧!
HTML5掃雷游戲源碼說(shuō)明:
1.根據(jù)格子數(shù)量,初始化canvas畫(huà)布。繪制格子。 初始化所需要的數(shù)組。包含格子信息的格子數(shù)組。
2.鼠標(biāo)劃過(guò)每一個(gè)格子改變格子。 需要判斷鼠標(biāo)在畫(huà)布上的坐標(biāo)。然后根據(jù)畫(huà)布坐標(biāo)判斷格子。
3.隨機(jī)生成雷。 do while循環(huán),生成不重復(fù)的格子坐標(biāo)保存到地雷數(shù)組和格子數(shù)組。
4.點(diǎn)擊打開(kāi)雷。顯示周?chē)椎臄?shù)量。如果雷的數(shù)量為0。則用一個(gè)遞歸計(jì)算這個(gè)雷周?chē)?個(gè)格子里有沒(méi)有周邊雷數(shù)量為0的格子,如果有,再計(jì)算這個(gè)格子周?chē)。。直到把相連的所有周邊雷數(shù)量為0的格子找出來(lái),放入一個(gè)數(shù)組。然后再把這個(gè)數(shù)組里所有格子以及它們周?chē)?個(gè)格子顯示出來(lái),顯示每個(gè)格子周?chē)椎臄?shù)量 。雷的數(shù)量用不同顏色。
不過(guò)我感覺(jué)這個(gè)算法效率還不是很高。要優(yōu)化。
5.被打開(kāi)過(guò)的格子或被標(biāo)記過(guò)的格子,沒(méi)有hover事件。
6.標(biāo)記格子。用旗子或問(wèn)號(hào)。 屏蔽網(wǎng)頁(yè)原本的右鍵事件。
7.加上時(shí)間,以及雷的數(shù)量的標(biāo)記。以及點(diǎn)擊的時(shí)候才生成雷。避免第一次點(diǎn)擊 就點(diǎn)到雷。
8.雙鍵同擊事件。如果周邊雷的數(shù)量等于周邊標(biāo)記的數(shù)量,就把周邊沒(méi)有打開(kāi)沒(méi)有標(biāo)記的點(diǎn)開(kāi)。不等于就動(dòng)態(tài)展現(xiàn)周邊剩下哪幾個(gè)沒(méi)打開(kāi)的。
9.點(diǎn)中的雷以記錯(cuò)誤的標(biāo)記用不同的圖像表達(dá)出來(lái)。
10.用網(wǎng)上下的資源美化。增加級(jí)別選擇。高級(jí),中級(jí),初級(jí),以及自定義。優(yōu)化界面效果。