2014-09-22 133 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