It doesn't work because the ==
comparison operator returns true
or false
(which are 1
or 0
). To avoid doing pairwise comparisons I guess the best way is to use a loop:
int vals[] = {row1,row2,row3,row4,col1,col2,col3,col4,diag1,diag2};
bool equals = true;
for (int i = 0; i < sizeof(vals); ++i) {
if (vals[i] != vals[i+1]) {
equals = false;
break;
}
}
I guess it would work even with a bitwise loop:
int val = vals[0];
for (int i = 1; i < sizeof(vals); ++i)
val &= vals[i];
bool equals = val == vals[0];