學(xué)完畫(huà)板,不過(guò)幾天時(shí)間又學(xué)會(huì)做了五子棋,五子棋的做法就比畫(huà)圖板稍微難了一點(diǎn)點(diǎn),很多步
驟都是一樣的,首先五子棋也需要一個(gè)界面,也需要監(jiān)聽(tīng)器,比畫(huà)板難的就是要計(jì)算一些數(shù)據(jù),
比如棋盤(pán)大小,棋子大小,然后還要寫(xiě)算法判斷輸贏
?
?
?
?
這是五子棋工程
?
1.五子棋界面
????? 也就是JFrame組建,前面寫(xiě)畫(huà)板的界面,這里就不多說(shuō),只是這里多寫(xiě)了一個(gè)貼圖,不給界面
貼圖的話,就要自己畫(huà)棋盤(pán),畫(huà)棋子,如果貼圖的話,就不用話了,只要用g.drawImage方法貼
圖,然后計(jì)算棋盤(pán)大小,棋子大小,以及交叉點(diǎn)坐標(biāo)和棋盤(pán)單元格的大小然后放棋子。
?
2.添加監(jiān)聽(tīng)器
????? 給棋盤(pán)添加鼠標(biāo)監(jiān)聽(tīng)器,讓我們鼠標(biāo)點(diǎn)擊一下就以鼠標(biāo)點(diǎn)擊的點(diǎn)為圓心貼一個(gè)棋子,也要用到
g.drawImage方法貼棋子。
?
3.說(shuō)明五子棋需要的數(shù)據(jù)
????? 五子棋需要的數(shù)據(jù),比如說(shuō)棋盤(pán)的行數(shù),列數(shù),棋子大小,棋盤(pán)單元格的大小,還有就是畫(huà)棋
盤(pán)的起始坐標(biāo),貼圖片的話就要先得到圖片的相對(duì)網(wǎng)絡(luò)地址java.net.URL? 然后創(chuàng)建圖片對(duì)象就
OK了。
?
4.寫(xiě)算法,判斷輸贏
???? ?要定義一個(gè)二維數(shù)組還記錄棋子的坐標(biāo),當(dāng)棋盤(pán)上有5個(gè)連續(xù)的同色的棋子時(shí)就要判斷是什么
顏色的棋子,執(zhí)這種棋子的獲勝。這里的話要從不同的方向找5顆連續(xù)的顏色相同的棋子。
?
?
?
這是一些截圖
?
?
?
?
五子棋做完也要保存,和畫(huà)板一樣,重寫(xiě)JFrame的paint方法就可以實(shí)現(xiàn)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
