6818开发板五子棋胜利判断代码
时间: 2023-10-07 07:13:38 浏览: 44
下面是一个简单的五子棋胜利判断代码,假设棋盘大小为15x15,1代表黑棋,2代表白棋。
```C++
int check_win(int board[15][15], int player) {
// 判断横向是否有五子连珠
for (int i = 0; i < 15; i++) {
for (int j = 0; j <= 10; j++) {
if (board[i][j] == player && board[i][j+1] == player && board[i][j+2] == player && board[i][j+3] == player && board[i][j+4] == player) {
return player;
}
}
}
// 判断纵向是否有五子连珠
for (int i = 0; i <= 10; i++) {
for (int j = 0; j < 15; j++) {
if (board[i][j] == player && board[i+1][j] == player && board[i+2][j] == player && board[i+3][j] == player && board[i+4][j] == player) {
return player;
}
}
}
// 判断左上到右下是否有五子连珠
for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= 10; j++) {
if (board[i][j] == player && board[i+1][j+1] == player && board[i+2][j+2] == player && board[i+3][j+3] == player && board[i+4][j+4] == player) {
return player;
}
}
}
// 判断左下到右上是否有五子连珠
for (int i = 4; i < 15; i++) {
for (int j = 0; j <= 10; j++) {
if (board[i][j] == player && board[i-1][j+1] == player && board[i-2][j+2] == player && board[i-3][j+3] == player && board[i-4][j+4] == player) {
return player;
}
}
}
// 没有五子连珠
return 0;
}
```
这个函数的返回值为0表示没有五子连珠,1表示黑棋胜利,2表示白棋胜利。函数的实现比较简单,就是对于每个位置,分别判断横向、纵向、左上到右下、左下到右上四个方向是否有五子连珠。如果有,就返回相应的胜利方。