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

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