五子棋游戲五子連珠算法實現
1.游戲規則
五子棋是兩個人之間進行的競技活動,黑方白方規則規則相同,黑棋必須先行, 五連子的方向為橫、豎、斜,如黑白色任一方先五子連一線則算勝出。
2. 五子連珠算法
在 9 X 9 (這里舉例子實際棋盤可以任意大小) 的游戲棋盤中 我們可以把它想象成一個二維數組,黑方下棋子后填充當前點的數組的值1,白方下棋子后填充當點的數組的值2,沒有下棋子的點在數組中值為0, 黑白雙方每走一步 則實際上在給這個二維數組賦值。 所以我們根據這個二維數組的值就可以計算出五子連珠,也可以繪制出棋盤上的黑白棋子。
玩家點擊屏幕后拿到一個屏幕的 x y 坐標 然后除以棋盤每一格的寬高 就可以得到在二維數組中的索引根據X Y 這 兩個索引就可以知道棋子下在了這個二維數組中的那里。
現在筆者帶大家分析一下五子連珠的算法, 首先要想五顆棋子連成一線必定有8種可能 接下來我們分析一下有那八中可能.
第一種:如圖所示 X軸橫向 其中橫向四顆棋子已經連成一線 左右兩邊任意下一顆棋子便五子連珠。可以用一個for循環遍歷當前X點索引 , 起始點為 X -4 結束點為X + 4 一共便利 9 次 如果其中5顆棋子連續則五子連珠 否則只要有一個沒連上 直接break;
第二種:如圖所示 X軸橫向 其中左右兩邊若干棋子但是都未滿足五子連珠 但是如果將中間連上后遍滿足
所以在寫算法的時候必需以當前棋子索引 前后都要便利5遍 才能確定當前棋子后是否可以五子連珠。算法同上
第三種:如圖所示 Y軸縱向 遍歷的時候須要從 Y - 4 到 Y + 4
第四種:如圖所示 Y軸縱向 同理X軸
第五種:如圖所示 遍歷的時候須要從(X -4) (Y- 4) 到 (X +4) (Y+4)
第六種:如圖所示算法同上
第七種:如圖所示 遍歷的時候須要從(X + 4) (Y+ 4) 到 (X- 4) (Y + 4)
第八種:如圖所示算法同上
這樣五子連珠的算法就介紹完了 下面附上我的源碼下載地址目前我沒有加上AI 有興趣的朋友我們可以一起研究研究。
源碼下載地址: http://download.csdn.net/source/3395573
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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