2014-09-22 129 views
2

(这是家庭作业)我试图用行和列标题打印Reversi板。我的问题是为什么不打印期间,而是打印“B”和“W”。有小费吗?Reversi 2D阵列打印

#include <iostream> 
#include <cstdlib> 
using namespace std; 
const int BOARD_SIZE = 8, MOVE_SYMBOL = 3; 
void PrintBoard(char board[8][8]); 

int main(int argc, char* argv[]) { 
    const int BOARD_SIZE = 8; 

    char board[BOARD_SIZE][BOARD_SIZE] = 
{ 
    { 0, 0, 0, 0, 0, 0, 0, 0 }, 
    { 0, 0, 0, 0, 0, 0, 0, 0 }, 
    { 0, 0, 0, 0, 0, 0, 0, 0 }, 
    { 0, 0, 0, 1, -1, 0, 0, 0 }, 
    { 0, 0, 0, -1, 1, 0, 0, 0 }, 
    { 0, 0, 0, 0, 0, 0, 0, 0 }, 
    { 0, 0, 0, 0, 0, 0, 0, 0 }, 
    { 0, 0, 0, 0, 0, 0, 0, 0 } 
}; 
PrintBoard(board); 
} 
// Prints current state of Reversi Board 15L 
void PrintBoard(char board[BOARD_SIZE][BOARD_SIZE]) { 
char output[MOVE_SYMBOL] = { 'W', ' . ', 'B' }; 
cout << "\n- 0 1 2 3 4 5 6 7"; 
for (int i = 0; i < BOARD_SIZE; i++) { 
    cout << "\n" << i; 
    for (int j = 0; j < BOARD_SIZE; j++) { 
    cout << output[board[i][j] + 1]; 
    } 
} 

输出:

- 0 1 2 3 4 5 6 7 
0 
1 
2 
3 BW 
4 WB 
5 
6 
7  Press any key to continue . . . 
+1

+1对你的作业感到清爽诚实:-) – paxdiablo 2014-09-22 05:34:33

回答

7

是因为那surouds您的时期witespace。字符是一个单独的位置,所以'.'而不是' . '

+0

Gahh,我很坏。感谢您捕捉我的失败。我会尽快接受这个答案。 – AnimatedLime 2014-09-22 05:34:54