圍棋App筆記——圍棋知識(shí)

接到一個(gè)工作任務(wù),需要實(shí)現(xiàn)一個(gè)能夠下圍棋的App,對(duì)手是機(jī)器。

初步討論,選擇單獨(dú)做一個(gè)iPad版本,開發(fā)語言我選擇了 Swift。盡管 Swift 還在演進(jìn)中,等新版的 iOS 和 XCode 發(fā)布后,會(huì)升級(jí)到第4版,但至少我可以在這個(gè)間隙來掌握 Swift 的主要語法。同時(shí)考慮到,如果招人的話,會(huì)Swift語言本身也是一個(gè)過濾條件,有能力掌握或者自學(xué)的,水平不會(huì)太差。

既然要做圍棋,那么先要了解一下圍棋的基本知識(shí)。拿來騰訊圍棋(野狐)玩了幾把,居然第一把執(zhí)黑把對(duì)方給吃完了。頓時(shí)干勁十足,當(dāng)然,后來幾把都輸?shù)靡凰?,不懂定?shì)自然吃虧。

野狐上初級(jí)玩家是可以選擇小棋盤的,因此先從認(rèn)識(shí)棋盤下手。
根據(jù) wiki 上圍棋的介紹,標(biāo)準(zhǔn)棋盤有縱橫19根黑線,相交的點(diǎn)用來放棋子。棋子分為黑白兩方,執(zhí)黑先行,每次輪流放一個(gè)棋子在交叉點(diǎn)上。
為了交流和記憶,棋盤上可以標(biāo)記坐標(biāo),最常見的是從黑方視角觸發(fā),按照左手系坐標(biāo)從左下角開始標(biāo)記,x軸方向用英文字母表示,從A開始,y軸方向用數(shù)字表示,從1開始。由于計(jì)算機(jī)字體的緣故,x軸可以跳過字母I,以防止和數(shù)字1搞混。也有其他坐標(biāo)法,不作展開。
同時(shí)為了方便定位,在標(biāo)準(zhǔn)棋盤上,第4根、第10根和第16根(19-4+1)橫線,和第4根、第10根和第16根縱線交叉形成的9個(gè)點(diǎn),叫做星,會(huì)有個(gè)黑點(diǎn)進(jìn)行標(biāo)記,中間的那個(gè)黑點(diǎn)叫做天元。
棋盤是可以縮小的,標(biāo)準(zhǔn)棋盤是19x19,也有9x9、13x13,以及15x15、17x17等,星的位置對(duì)應(yīng)調(diào)整,天元保持在棋盤中央。值得一提的是,9x9的線是第3根而不是第四根。

棋譜有一個(gè)標(biāo)準(zhǔn)格式 SGF,官方網(wǎng)站:http://www.red-bean.com/sgf/,還沒來得及深入了解。

圍棋術(shù)語中英文:http://senseis.xmp.net/?ChineseGoTerms

圍棋下棋時(shí),除了在交叉點(diǎn)輪流放棋子外,會(huì)有一些規(guī)則,比如可以把圍起來的對(duì)方棋子吃掉(移除棋子),以及有些位置是不能下的(比如打劫、沒有氣或者不可自殺)。

有了這些信息,棋盤可以開始具體設(shè)計(jì)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容