我正嘗試在C++中創建一個基本的棋盤並輸出它。在C++中創建多維數組國際象棋棋盤的問題
我設置了一個多維板的字符數組作爲初始測試,並把字符代表每一塊。這個結果是奇怪的結果,所以我將代碼分解爲以下代碼,它旨在創建一個棋盤,每個角落都有兩排棋子和一個車,標記爲a,b,c和d。
#include <string>
using namespace std;
class Game
{
public:
int turn;
char player;
char board[7][7];
Game()
{
turn = 1;
player = 'w';
int x,y;
for(y=0;y<=7;y++) for(x=0;x<=7;x++) board[x][y] = '.';
board[0][0] = 'a';
board[7][0] = 'b';
board[0][7] = 'c';
board[7][7] = 'd';
for(x=0;x<=7;x++) board[x][1] = 'p';
for(x=0;x<=7;x++) board[x][6] = 'p';
}
string getBoard()
{
string result = "";
int x,y;
for(y=0;y<=7;y++)
{
for(x=0;x<=7;x++) result += board[x][y];
result += "\n";
}
return result;
}
};
我用以下測試:
Game game;
cout << game.getBoard();
和我得到以下結果:
ac.....b
pppppppp
........
........
........
........
pppppppp
c.....bd
爲什麼烏鴉被複制而不是僅僅出現在任何想法角落?我似乎無法追查這個問題。
謝謝。我現在感覺很愚蠢。我明顯在使用PHP太多,並忘記了定義本身不是基於零的,這是爲什麼我把char board [7] [7]。 – DivineOmega