我有一个函数来检查一个数组是否具有三个相同字符的井字游戏数组。麻烦的是,我的逻辑有问题:
for (int i = 0; i < SIZE; i++){
for (int j = 0; j < SIZE; j++){
if (board[i][j] != '*'){
if (i != j){
if (board[i][i] == board[i][j]){
matches++;
}
else if (board[i][j] == board[j][i]){
matches++;
}
else if (board[i][j] == board[j][j]){
matches++;
}
else if (board[i][j] == board[j][i]){
matches++;
}
else {
matches = 0;
}
}
}
}
}
看来我可以水平和垂直检查匹配。但是,我不太清楚如何找到对角线匹配。我认为这段代码可以工作,但到目前为止还没有。
关于什么是错的任何建议?