the major of program is there,it's doesnot flip well.Code:bool flip(char board[8][8], bool players, char player[2], int ck[8][8], int rows, int column) { int test, x, new_col, new_row; bool ok = false; char opponent = player[!players]; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { ck[i][j] = 0; } } new_col = column - 1; test = 0; for (i = new_col; i >= 0; i--) //To left of selection { if (board[rows][i] == opponent) { test--; } else if (board[rows][i] == ' ') { i = -1; } else if (board[rows][i] == player[players]) { ok = true; for (x = new_col + test; x <= new_col; x++) { ck[rows][x] = 1; } i = -1; } } new_col = column + 1; test = 0; for (i = new_col; i < 8; i++) //To right of selection { if (board[rows][i] == opponent) { test++; } else if (board[rows][i] == ' ') { i = 8; } else if (board[rows][i] == player[players]) { ok = true; for (x = new_col; x <= new_col + test; x++) { ck[rows][x] = 1; } i = 8; } } new_row = rows - 1; test = 0; for (i = new_row; i > -1; i--) //To top of selection { if (board[i][column] == opponent) { test--; } else if (board[i][column] == ' ') { i = -1; } else if (board[i][column] == player[players]) { ok = true; for (x = new_row + test; x <= new_row; x++) { ck[x][column] = 1; } i = -1; } } new_row = rows + 1; test = 0; for (i = new_row; i < 8; i++) //To bottom of selection { if (board[i][column] == opponent) { test++; } else if (board[i][column] == ' ') { i = 8; } else if (board[i][column] == player[players]) { ok = true; for (x = new_row; x <= new_row + test; x++) { ck[x][column] = 1; } i = -1; } } new_col = column + 1; new_row = rows + 1; test = 0; for (i = new_row; i < 8; i++) //To lower right { if (board[i][new_col] == opponent && new_col < 8) { test++; } else if (board[i][new_col] == ' ' && new_col < 8) { i = 9; } else if (board[i][new_col] == player[players]) { ok = true; new_col = column + 1; for (x = new_row; x <= new_row + test; x++) { ck[x][new_col] = 1; new_col++; } i = 9; } new_col++; } new_col = column - 1; new_row = rows - 1; test = 0; for (i = new_row; i >= 0; i--) //To upper left { if (board[i][new_col] == opponent && new_col > -1) { test--; } else if (board[i][new_col] == ' ' && new_col > -1) { i = -1; } else if (board[i][new_col] == player[players]) { ok = true; new_col = column - 1; for (x = new_row ; x > new_row + test; x--) { ck[x][new_col] = 1; new_col--; } i = 9; } new_col--; } new_row = rows - 1; new_col = column + 1; test = 0; for (i = new_row; i >= 0; i--) //To upper right { if (board[i][new_col] == opponent && new_col < 8) { test--; } else if (board[i][new_col] == ' ' && new_col < 8) { i = -1; } else if (board[i][new_col] == player[players]) { ok = true; new_col = column + 1; for (x = 0; x >= test; x--) { ck[new_row+x][new_col] = 1; new_col++; } i = -1; } new_col++; } new_row = rows + 1; new_col = column - 1; test = 0; for (i = new_row; i < 8; i++) //To lower left { if (board[i][new_col] == opponent && new_col >= 0) { test++; } else if (board[i][new_col] == ' ' && new_col >=0) { i = 8; } else if (board[i][new_col] == player[players]) { ok = true; new_col = column - 1; for (x = new_row; x <= new_row + test; x++) { ck[x][new_col] = 1; new_col--; } i = 8; } new_col--; } return ok; } void playgame(char board[8][8], bool players, char player[2]) { int x_quantity, o_quantity, rows, column; int ck[8][8]; char cols; bool found, ok; do { x_quantity = 0, o_quantity = 0; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) if (board[i][j] == 'X') x_quantity++; else if (board[i][j] == 'O') o_quantity++; } cout << "Score: O = " << o_quantity << " X = " << x_quantity << endl; cout << "Current Player: "<< player[players] << endl; cout << "==>" << endl; cin >> cols; column = toupper(cols) - 65; // ASCII value of 'A' is 65, H is 72, //so column equals 0 to 7, corresponding to array cin >> rows; rows--; // Array starts at 0. Starts with 1 on screen. Subtract 1 to match array found = false; for (i = -1; i < 2; i++) { for (j = -1; j < 2; j++) { if (board[rows + i][column + j] == player[!players]) { found = true; } } } if (found) { ok = flip(board, players, player, ck, rows, column); if (ok) { board[8-rows-1][column] = player[players]; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { if (ck[i][j] == 1) { board[i][j] = player[players]; } } } drawboard(board);// Redraw board after placement of piece players = !players; // Switch players } } else cout << "Error 404" << endl; //drawboard(board);// Redraw board after placement of piece } while (true); }
anyone can help?