c语言五子棋判定胜负模块 | 您所在的位置:网站首页 › 五子棋编程输赢判断 › c语言五子棋判定胜负模块 |
#include #include #define N 15 int qipan[N][N]; int test_win(int x, int y, int qipan[][N]); //XY任意一人下的子的位置 { int i = 0; int j = 0; if (qipan[i][j] != 0)) {for (i = 0; i < N; i++) { for (j = 0; j < N - 4; j++) { if (qipan[i][j] == qipan[i][j + 1] && qipan[i][j + 1] == qipan[i][j + 2] && qipan[i][j + 2] == qipan[i][j + 3] && qipan[i][j + 3] == qipan[i][j + 4] //横着检查 ) { return qipan[i][j]; //返回数值1/2 } if (qipan[i][j] == qipan[i + 1][j] && qipan[i + 1][j] == qipan[i + 2][j] && qipan[i + 2][j] == qipan[i + 3][j] && qipan[i + 3][j] == qipan[i + 4][j]) //竖着 { return qipan[i][j]; } if (qipan[i][i] == qipan[i + 1][i + 1] && qipan[i + 1][i + 1] == qipan[i + 2][i + 2] && qipan[i + 2][i + 2] == qipan[i + 3][i + 3] && qipan[i + 3][i + 3] == qipan[i + 4][i + 4]) //往右下斜 { return qipan[i][j]; } if (qipan[i][i] == qipan[i - 1][i + 1] && qipan[i - 1][j + 1] == qipan[i - 2][j + 2] && qipan[i - 2][j + 2] == qipan[i - 3][j + 3] && qipan[i - 3][j + 3] == qipan[i - 4][i + 4]) //右上斜 { return qipan[i][j]; } } } } for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { if (qipan[i][j] == 0) { return 3; //返回3继续游戏 } } } //游戏结束 return 4; //得到结果为4平局 } |
CopyRight 2018-2019 实验室设备网 版权所有 |