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

2022-02-12 16:09:23 字數 942 閱讀 2995

///

/// 是否贏

///

/// 棋盤中的所有棋子

/// 要檢索的棋子的位置

/// 返回連續棋子的最大個數

/// 是否贏

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

num = 0;//歸零

for (int i = 0; i < 9; i++)//從 左下角 到 右上角 的九子範圍內檢索連續的棋子

num = 0;

for (int i = 0; i < 9; i++)//從 左 到 右 的九子範圍內檢索連續的棋子

num = 0;

for (int i = 0; i < 9; i++)//從 上 到 下 的九子範圍內檢索連續的棋子

return bo;

}/// 這個方法的引數太多了,我記得有人說過方法的引數最好不要超過五個,請問各位前輩、這種情況該怎麼處理呀?

///

/// 要檢索的棋子的位置

/// 棋盤的橫向邊界

/// 棋盤的豎向邊界

/// 棋盤所有棋子

/// 要檢索的棋子的顏色

/// 標識連續白子或者黑子的最大個數,連續五子取勝,連續六子及六子以上視為自殺

/// 是否取勝

/// 中間變數

private void treatemaxnum(point p, int lenx, int leny, color[,] arrcol, color col, ref int maxnum, ref bool bo, ref int num)

bo = true;//取勝

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

bo = false;//此時為自殺}}

else//***//

}

乙個連珠五子棋的演算法

為了實現連珠六子及六子以上自殺的功能,中間沒有使用break及return 語句,執行效率有所降低。注 1 使用的是c 語法。2 如果 五 子 六 子 連 按自殺處理。3 三三禁軍功能還沒有實現,以後會進一步完善。晚輩學習c 的時間不長,還望前輩們多多指教。是否贏 棋盤中的所有棋子 所下棋子的最後乙...

對五子棋勝負的乙個模擬判斷

在這個模擬中,採用檔案來儲存棋盤狀況。data.txt的內容類似下面這樣,0表示未下子,1表示黑子,2表示白子 先將檔案中的資料讀取到乙個字元陣列中,然後對陣列內容進行遍歷判斷。分橫 豎 左右斜 右左斜四種情況判斷。若出現一方勝的情況,則將勝負標誌變數置為1或者2並跳出判斷,最後根據勝負標誌變數來輸...

乙個簡單的JAVA五子棋

參照書本寫了乙個很簡單的五子棋程式 主要有如下功能 1 初始化棋盤initboard 2 下棋play 未完成的功能 1 沒有實現棋子ai 2 沒有實現連機 3 ui可以繼續優化 個人感覺五子棋只有在判斷輸贏的演算法上稍微需要思考一下,別的地方都可以參考書本或者網路自己完成。具體如下 1 首先定義一...