Gobang
五子棋AI大戰(zhàn)循帐,該項目主要用到MVC框架窘问,用算法搭建AI實現(xiàn)進(jìn)攻或防守
一.項目介紹
1.地址:
github地址:GobangWar
2.效果圖:
五子棋大戰(zhàn)1
五子棋大戰(zhàn)2
五子棋大戰(zhàn)3
二.思路介紹
大概說下思路褪尝,具體看代碼實現(xiàn)繁仁。
1.畫棋盤及落點
這個可以去慕課網(wǎng)看看這個視頻:五子棋肴敛,里面有詳細(xì)的講解,我對里面的進(jìn)行了部分優(yōu)化氛琢。比如怎么判斷兩點之間到底觸摸的哪個點。
2.重來
每個點都是一個對象随闪,讓后把對象放數(shù)組里面阳似,進(jìn)行刪去,或者重置铐伴。
3.人機模式
AI簡介.png
這里的AI(人工智能)比較簡單撮奏,這個算法可深可淺俏讹,此項目就是比較淺的,深的可以去看算法畜吊,此項目AI的大體思路是:
先便利棋盤上面的點泽疆,找到AI的棋子有活四,死四的點玲献,既下一步能形成5個點的落子點殉疼,找到就直接在此點落子。
如果沒找到捌年,就遍歷玩家活四瓢娜,或者死四的點,并在此進(jìn)行落點進(jìn)行防守礼预,雖然活四沒法防守眠砾。
然后這兩個點都沒找到的話,就直接找AI有形成活三托酸,或者死三的點褒颈,進(jìn)行落子進(jìn)攻。
如果沒找到获高,就找用戶能形成活三哈肖,死三的點進(jìn)行防守。就這樣簡單的進(jìn)行交互念秧。
三.用到的三方和借鑒
感謝下面作者
四.結(jié)語
如果能對你有幫助淤井,就給個star或贊鼓勵下,有什么沒明白的歡迎留言交流摊趾。
2017-04-24更新:
1.新增難度選擇按鈕币狠,實現(xiàn)了簡單和中級兩個難度的算法。
2.新增悔棋按鈕砾层。
3.代碼庫移動到最新的倉庫位置漩绵,上述代碼鏈接已修改