playerWin関数に何か問題があります。それは私が勝ったことを伝え続けます。私は勝つためにボード上にxを置いていないような気がする。私の論理に何が問題なの?これは宿題ではありません。私は永遠にプログラミングしていないし、私の最初の言語はJavaだった。私はC++を学ぼうとしていて、何かするためにティックタックのつま先を選んだ。C++の選択文trueを返す
#include <iostream>
using namespace std;
int boardSize = 3;
char board[3][3] = {'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n' };
void printBoard() {
for (int i=0; i < boardSize; i++) {
for (int j=0; j < boardSize; j++) {
cout << board[i][j] << " ";
}
cout << endl;
}
}
// void playerMove() { };
bool playerWin() {
if ((board[0][0] == 'x') && (board[1][0] == 'x') &&
(board[2][0] == 'x') ||
(board[0][1] == 'x') && (board[1][1] == 'x') &&
(board[2][1] == 'x') ||
(board[0][2] == 'x') && (board[1][2] == 'x') &&
(board[2][2] == 'x') ||
(board[0][0] == 'x') && (board[0][1] == 'x') &&
(board[0][2] == 'x') ||
(board[1][0] == 'x') && (board[1][1] == 'x') &&
(board[1][2] == 'x') ||
(board[2][0] == 'x') && (board[2][1] == 'x') &&
(board[2][2] == 'x') ||
(board[0][0] == 'x') && (board[1][1] == 'x') &&
(board[2][2] == 'x') ||
(board[2][0] == 'x') && (board[1][1] == 'x') &&
(board[0][2] == 'x')) {
return true;
}
}
int main() {
// game loop
char play = 'y';
cout << "Welcome to Tic Tac Toe\n";
do {
if (playerWin()) {
cout << "Looks like you won!" << endl;
} else {
cout << "You didn't win!";
}
break;
// after game is over ask if want to play again here
// cout << "Would you like to play Tic Tac Toe? \n";
// cin >> play;
} while (play = 'y');
}
[C++のブール型戻り関数のデフォルト戻り値](http://stackoverflow.com/questions/7529432/default-return-value-of-a-boolean-type-return-function- in-c) –