五子棋只差最后的判斷輸贏了,在這里,需要判斷 4 個方位 8 個方向上的連續(xù)棋子數(shù),舉個例子吧,當(dāng) checkrow 函數(shù)檢測到第一個棋子時,它會往這枚棋子的 8 個方向上同時向外檢測是否有相同的顏色棋子,比如水平方向會同時向左向右檢測如果顏色相同 count 就加一
一旦碰到一個不相同的棋子或空位或邊界即結(jié)束這個方向上的判斷,如圖:
?
有了棋子連續(xù)計(jì)數(shù)器,只要在每次點(diǎn)擊鼠標(biāo)之后判斷最大連續(xù)棋子數(shù)就行,我用了一個一維 4 位數(shù)組來存儲 4 個方位上的連續(xù)數(shù)并比較出最大的數(shù)
?
7 月 23 號來藍(lán)杰繼續(xù)學(xué)習(xí),學(xué)習(xí)了數(shù)據(jù)列表類,利用 Object 類與通用函數(shù) E 實(shí)現(xiàn)對任意類型數(shù)據(jù)的存儲、與管理(添加元素、刪除元素)。
public class Arraylist<E> {
private Object[] array = new Object[0];
}
?
這樣就可以再列表類中添加各種元素了如果需要指定元素類型只需要
Arraylist<Student> list = new Arraylist<Student>();
就課以限定 Arraylist 中只能添加 Student 類型的數(shù)據(jù)了
利用數(shù)據(jù)列表類可以對任意類型數(shù)據(jù)存儲、管理的特點(diǎn),只要在五子棋程序中把每一步下棋的位置都存儲起來,然后就可以在點(diǎn)悔棋按鈕的時候?qū)?shù)據(jù)列表中最后一次存儲的棋子在棋子數(shù)組中刪除并重繪畫板即可實(shí)現(xiàn)悔棋的操作。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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