void win() { int i,j; for(i=0;i<11;i++) { for(j=0;j<11;j++) { if(2 != qipan[i][j] ) { colorFlag = qipan[i][j]; countTemp = 1; iTemp = i; jTemp = j; while((++jTemp<11 )&&(countTemp!=5 )) { if(colorFlag == qipan[i][jTemp]) { countTemp++; if(countTemp==5) { if(colorFlag==0) { printf("黑棋赢了!\a\n"); } else if(colorFlag==1) { printf("白棋赢了!\a\n"); } exit(0); } } else { countTemp = 0; break; } }
时间: 2024-02-10 10:22:41 浏览: 52
五子棋C语言-收藏学习备用基础项目.docx
这段代码定义了一个函数win,其作用是判断当前是否有玩家胜利。
函数说明:
- win函数没有参数,没有返回值。
- 在函数体内部,使用两个for循环遍历棋盘的每个位置,根据不同的状态判断是否有连续的五个棋子。
- 在判断过程中,使用了一些临时变量,包括colorFlag、countTemp、iTemp和jTemp。其中,colorFlag存储当前位置的状态(0表示黑棋,1表示白棋),countTemp用于计数,iTemp和jTemp是当前位置的坐标。
- 如果有连续的五个棋子,就输出胜利信息,然后使用exit函数退出程序。
- win函数的作用是在玩家下棋的过程中不断判断是否有胜利者。如果有胜利者,就输出胜利信息并结束游戏。
阅读全文