日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Android 實(shí)戰(zhàn)項(xiàng)目之五子棋 附源碼

系統(tǒng) 3364 0

五子棋游戲五子連珠算法實(shí)現(xiàn)

Android 實(shí)戰(zhàn)項(xiàng)目之五子棋 附源碼

1.游戲規(guī)則

五子棋是兩個(gè)人之間進(jìn)行的競(jìng)技活動(dòng),黑方白方規(guī)則規(guī)則相同,黑棋必須先行, 五連子的方向?yàn)闄M、豎、斜,如黑白色任一方先五子連一線則算勝出。

2. 五子連珠算法

在 9 X 9 (這里舉例子實(shí)際棋盤可以任意大小) 的游戲棋盤中 我們可以把它想象成一個(gè)二維數(shù)組,黑方下棋子后填充當(dāng)前點(diǎn)的數(shù)組的值1,白方下棋子后填充當(dāng)點(diǎn)的數(shù)組的值2,沒有下棋子的點(diǎn)在數(shù)組中值為0, 黑白雙方每走一步 則實(shí)際上在給這個(gè)二維數(shù)組賦值。 所以我們根據(jù)這個(gè)二維數(shù)組的值就可以計(jì)算出五子連珠,也可以繪制出棋盤上的黑白棋子。

玩家點(diǎn)擊屏幕后拿到一個(gè)屏幕的 x y 坐標(biāo) 然后除以棋盤每一格的寬高 就可以得到在二維數(shù)組中的索引根據(jù)X Y 這 兩個(gè)索引就可以知道棋子下在了這個(gè)二維數(shù)組中的那里。

現(xiàn)在筆者帶大家分析一下五子連珠的算法, 首先要想五顆棋子連成一線必定有8種可能 接下來我們分析一下有那八中可能.

第一種:如圖所示 X軸橫向 其中橫向四顆棋子已經(jīng)連成一線 左右兩邊任意下一顆棋子便五子連珠。可以用一個(gè)for循環(huán)遍歷當(dāng)前X點(diǎn)索引 起始點(diǎn)為 X -4 結(jié)束點(diǎn)為X + 4 一共便利 9 次 如果其中5顆棋子連續(xù)則五子連珠 否則只要有一個(gè)沒連上 直接break;

X軸向

第二種:如圖所示 X軸橫向 其中左右兩邊若干棋子但是都未滿足五子連珠 但是如果將中間連上后遍滿足

所以在寫算法的時(shí)候必需以當(dāng)前棋子索引 前后都要便利5遍 才能確定當(dāng)前棋子后是否可以五子連珠。算法同上

X軸向

第三種:如圖所示 Y軸縱向 遍歷的時(shí)候須要從 Y - 4 到 Y + 4


Y軸向

第四種:如圖所示 Y軸縱向 同理X軸

Y軸向

第五種:如圖所示 遍歷的時(shí)候須要從(X -4) (Y- 4) 到 (X +4) (Y+4)

X軸向

第六種:如圖所示算法同上

X軸向

第七種:如圖所示 遍歷的時(shí)候須要從(X + 4) (Y+ 4) 到 (X- 4) (Y + 4)

XY軸

第八種:如圖所示算法同上

X軸向

這樣五子連珠的算法就介紹完了 下面附上我的源碼下載地址目前我沒有加上AI 有興趣的朋友我們可以一起研究研究。

源碼下載地址: http://download.csdn.net/source/3395573

Android 實(shí)戰(zhàn)項(xiàng)目之五子棋 附源碼


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 阿瓦提县| 九龙县| 尚义县| 施甸县| 靖宇县| 望谟县| 垦利县| 土默特左旗| 赞皇县| 河北省| 天水市| 甘孜县| 法库县| 工布江达县| 涟水县| 蒲城县| 灌云县| 邻水| 阿荣旗| 康定县| 眉山市| 汉川市| 游戏| 云霄县| 玉林市| 昭苏县| 安国市| 滦平县| 类乌齐县| 永吉县| 桓仁| 清徐县| 故城县| 和硕县| 共和县| 博客| 南充市| 丰县| 桃园市| 白玉县| 河北区|