兩種主流思想:
1.直接全部掃瞄棋盤,按四個方向逐個遍歷,不僅麻煩而且很傻;
2.每落乙個子,直接對該子進行四個方向判定,且判定的時可以乙個方向左右加和;
#include#include#include
using
namespace
std;
const
int maxn = 13
;int
ma[maxn][maxn];
void
printma()
else
if (ma[i][j] == -1
)
else
cout
<< "";
}cout
<}
}int henc(int x, int
y)
for (int i = x - 1; i >= 0 && ma[x][y] == ma[i][y]; i--)
cnt++;
return
cnt;
}int shuc(int x, int
y)
for (int i = y - 1; i >= 0 && ma[x][y] == ma[x][i]; i--)
cnt++;
return
cnt;
}int xzc(int x, int
y)
for (int i = x-1, j = y-1; i >=0&&y >= 0&&ma[x][y] == ma[i][j]; i--, j--)
return
cnt;
}int xyc(int x, int
y)
for (int i = x, j = y; i < maxn && y >= 0 &&ma[x][y] == ma[i][j]; i++, j--)
return
cnt;
}bool charge(int x,int
y) int
main()
else
break
; }
f = -f;
}return1;
}
下五子棋的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子連線者獲勝。棋具與圍棋通用,起源於中國上古時代的傳統黑白棋種之一。主要流行於華人和漢字文化圈的國家以及歐美一些地區,是世...