堆排序和五子棋

2021-06-25 18:09:34 字數 606 閱讀 1234

1. 五子棋  udp

1. 棋盤。 網上下乙個; 

棋盤是乙個三維陣列  char 【row】【col】【n】 

row行數 

col列數 

n**每乙個符號( 棋盤的每乙個符合是乙個字串)

2 . 下棋

乙個人下棋send ,另乙個人 recv;

下棋雙方都有 乙個棋盤, 下棋好了將 下的(行數,列數)傳遞給對方,雙方重新整理棋盤;

3.  悔棋

雙方都有2個下棋布數的鍊錶,每人都有2個各自的鍊錶(存放自己下的歷史和對方下的歷史)

自己下棋的鍊錶在send 後插入 (鍊錶結點),對面下棋 在 recv 後 將收到的 對面下棋 行列 加入另乙個鍊錶

4. 判斷輸贏

分4種情況: 橫著的,豎著的 ,右上斜的,左上斜的

每一種情況都判斷  利用 if ,如果贏了 直接 return , 否則接著判斷

判斷點由下的那個點開始: 以判斷橫著為例 

從(下的棋子,行,列)往右數連續相同的子,遇到不同結束

往左數連續相同的子,遇到不同結束

當左 和 右 的子數 大於等於 5則 贏, 否則接著判斷

其他情況類似(斜著的也是)

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

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

窮舉五子棋

本想窮舉五子棋必勝點,可惜呀,這貨窮舉太不現實了,寫出來了,根本沒辦法執行出來結果 include include include define rl 17 char s 14 int five rl rl void init void void print void int cs int i,in...

普通 五子棋

五子棋 五子棋是世界智力運動會競技專案之一,是一種兩人對弈的純策略型棋類遊戲,是世界智力運動會競技專案之一,通常雙方分別使用黑白兩色的棋子,下在棋盤直線與橫線的交叉點上,先形成5子連線者獲勝。棋具與圍棋通用,起源於中國上古時代的傳統黑白棋種之一。主要流行於華人和漢字文化圈的國家以及歐美一些地區,是世...