2014-09-22 2 views
2

(это домашняя работа) Я пытаюсь напечатать плату Reversi с заголовком строки и столбца. Мой вопрос заключается в том, почему не печатаются периоды, а печатаются «B» и «W». Какие-нибудь советы?Reversi 2D array print

#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

ответ

7

Это потому, что witespace surouds ваш период. Шар должен быть ОДНОЙ одной позицией, поэтому '.', а не ' . '.

+0

Gahh, я плохой. Спасибо, что поймал мой провал. Я приму этот ответ как можно скорее. – AnimatedLime