五子棋禁手(三三 四四 長連)組合起來的細節如何判定?

時間 2021-05-30 09:32:45

1樓:舒自均

@愛麗絲欣 ,這個坑祖宗的局面就是前者提出來的(因為不同軟體對這個判定不一樣)

黑點D13是不是禁手?

沒有明確規定這個是不是,目前給出的實現裡這個不算禁,因為預設黑棋連了5一定會指出然後判定自己勝利

另外還有一些複雜的禁手見

徵求複雜的禁手局面,還有軟體很難判斷的局面必須和圖示完全相同,判斷才是正確的.

2樓:曾加

本回答的核心內容是:在五子棋中,什麼是「活三」?

首先,我們需要理解五子棋中的 「三三禁手」 、「四四禁手」、「長連禁手」 的嚴格定義是什麼。

三三禁手:黑棋一子落下同時形成兩個或兩個以上的【活三】

四四禁手:黑棋一子落下同時形成兩個或兩個以上衝四活四

長連禁手黑棋一子落下形成乙個或乙個以上的長連;

特別地,如果黑棋在乙個方向連成五子的情況下在其他方向同時形成「三三」、「四四」 或 「長連」,不算禁手,判黑棋勝。

——顯然,根據定義,「三三三」、「四四四」等,同「三三四」、「四四三」一樣,是禁手。

就禁手而言,「四」是不難理解的,容易混淆的只有「三三禁手」,容易混淆的點在於「活三」。

有人覺得。活三還能不容易理解?

那麼我問你,以下黑棋的最後一手,哪些屬於活三?

相信很多人已經感到有些迷茫了。所以,我們需要通過嚴格的定義來辨認活三:

活三:本方再走一著可以形成活四的三;

活四:有兩個點可以成五的四;

衝四:只有乙個點可以成五的四;

所以,上圖的正確答案是,左邊六個屬於「活三」,右邊六個不屬於「活三」,你做對了嗎?

第3、4 兩種情況,顯然,再下一子只能形成衝四,所以不是活三;

第7、8 兩種情況,看起來左右兩端都可以下,但是下任意一端,都是被堵死的,所以是「眠三」;

第11、12 兩種情況,再下一手的話,無論下在左邊還是右邊,要麼被堵,要麼一端形成 「長連禁手」而不能成五,只能形成衝四,所以也不是活三;

與之相反的,第6、9、10種情況看起來上下或左右都有「長連禁手」,但是不影響成四,而成五的時候是無視禁手的,因此,它們依然是「活三」,當然,如果「三」的兩邊都有禁手,就不算活三了。如下圖所示(黑23的上邊一點不是禁手):

好了。現在回到題主的問題:

case 1:左邊有橫向的長連,所以在黃點落下以後,黃點左邊是不能下的,黃點不是禁手;

case 2:同上面的第12個圖,橫向沒有活三,黃點不是禁手;

case 3:同 case 1,黃點不是禁手;

case 4:左邊雖然有長連禁手,但右邊沒有,可以形成「活四」,所以黃點禁手;

case 5:可以在黃點右邊的右邊形成活四,所以橫向有活三,黃點禁手;

case 6:橫向右側由於有長連限制,不能形成活四,所以沒有活三,黃點不是禁手;

case 7:同上,橫向無法形成活四,黃點不是禁手;

case 8:下一手可以在橫向形成真活四,黃點禁手;

case 9:還用說,黃點不是禁手;

case 10:下一手黑棋左邊不能下,右邊受長連影響,只能形成衝四,所以黃點不是禁手。

RenjuSolver 告訴我,我的判斷是對的。

參考資料:中國五子棋競賽規則(2013版)

P.S. 禁手規則可能有坑,更複雜的情況未必能輕易分析出來。#

3樓:夏爾謝夫

具體比賽規則可能會不一樣。

早年的通用規則是:只有4-3不是禁手,三先(333/433/443/444)及33、44都是禁手。

此外,禁手裡的4指的是活4或衝4,3指的是活3而由於長連禁手的存在,你給的例子裡面,最上面一行4個局面,黑子只有豎方向有活三,橫方向都是眠三(再走一著可以形成衝四,但無法形成活四的三)。既然只有乙個方向有活三,當然不構成3-3禁手。

4樓:

以我的理解,第乙個的黃點不是禁手。因為你不能走黃點左邊的點(長連),所以左邊並不是乙個"四",並且右邊的"三"並不能發展成"活四"。所以只有乙個能發展成"活四"的"三"(垂直方向)。

這個貌似叫"以禁解禁",就是說因為下一步的禁手點不能走導致這一步並不是禁手點。

另外單純的"三三三"和"四四四"當然也是禁手。

手機打字不好一一看,不過其餘類似判斷吧。

五子棋是不是比圍棋簡單?

永遠做18的少年 其實當你把圍棋棋盤縮小到6 6,差不多一樣的難度吧圍棋的規則更複雜,但是支援其規則的是更廣闊的棋盤。五子棋規則簡單。100 100的棋盤和200 200的棋盤複雜度也很相近 濟南大狸子 個人感覺五子棋很簡單,你如果是與人對戰,找個會下五子棋的人,給你講講規則,然後實戰上2局你就能知...

如何用python製作五子棋遊戲?

風城紀事 你需要知道的知識也不是很多吧 第一,要有操作介面,可以是cli或者是gui,一般來講cli比gui簡單 第二,你要有乙個狀態模型,也就是儲存棋盤當前狀態的資料結構,鍊錶或者numpy array都可以 第三,你要把操作介面和狀態模型銜接起來,並且定義狀態的不同變遷。比如黑方行棋,白方行棋,...

五子棋都有哪些常規的套路?

溫順的的瓜皮貓 下五子棋想成為高手也是需要系統學習和科學訓練的。在沒有棋理基礎和計算力基礎的前提下,任何套路都是浮雲。會存在一些常見的進攻形狀和防守形狀,但什麼時候使用這些形狀是需要根據局面深思熟慮的。最後推薦http www.裡的初級課程。課程從基礎概念講起,內容包括樓主所問的 套路 昨天初級六班...