乙個連珠五子棋的演算法

2022-02-12 16:09:24 字數 994 閱讀 7000

為了實現連珠六子及六子以上自殺的功能,中間沒有使用break及return 語句,執行效率有所降低。

注:1、使用的是c#語法。

2、如果「五(子)、六(子)連」按自殺處理。

3、三三禁軍功能還沒有實現,以後會進一步完善。

晚輩學習c#的時間不長,還望前輩們多多指教。

///

/// 是否贏

///

/// 棋盤中的所有棋子

/// 所下棋子的最後乙個位置

/// 是否贏

public virtual bool win(color[,] arrcol,point p,out int maxnum)

bo = true;

}else if(num > 5)//標識六子及六子以上自殺

bo = false;}}

else

num = 0;//(*****)

}num = 0;//歸零(*****)

/*幾乎所有注釋下同*/

for (int i = 0; i < 9; i++)//從 左下角 到 右上角

bo = true;

}else if (num > 5)

bo = false;}}

else

num = 0;

}num = 0;

for (int i = 0; i < 9; i++)//從 左 到 右

bo = true;

}else if (num > 5)

bo = false;}}

else

num = 0;

}num = 0;

for (int i = 0; i < 10; i++)//從 上 到 下

bo = true;

}else if (num > 5)

bo = false;}}

else

num = 0;

}return bo;

}今後會實現「三三自殺」 的演算法!

下五子棋的bot 五子棋演算法

include include include include include include jsoncpp json.h c 編譯時預設包含此庫 define n 7 每個節點的分支數 以下為各棋型的識別碼 權重 define win 1 4000 define lose 2 4000 defi...

乙個連珠五子棋判斷是否取勝的方法(二)

是否贏 棋盤中的所有棋子 要檢索的棋子的位置 返回連續棋子的最大個數 是否贏 public virtual bool win color arrcolor,point p,out int maxnum num 0 歸零 for int i 0 i 9 i 從 左下角 到 右上角 的九子範圍內檢索連續...

寫了個五子棋

還沒放假的時候想著寫乙個可以聯網對戰的五子棋,主要是剛剛學了些mfc,想動動手,結果一下子就把本地的給寫了出來,但是根本沒有考慮有關結構,還有哪些該做乙個類,類與類之間的繼承等關係,外加要考慮到多執行緒,以及不知道類裡面的postmessage怎麼寫 結果當輪到寫網路部分的時候就卡住了,客戶端這邊有...