3.6.2 創(chuàng)建多維數(shù)組
程序做的第一件事情是為井字棋游戲棋盤聲明和初始化一個數(shù)組
char board[ROWS][COLUMNS] = { {'O', 'X', 'O'},
{' ', 'X', 'X'},
{'X', 'O', 'O'} };
代碼聲明了一個3×3(因為ROWS和COLUMNS都為3)的二維字符數(shù)組,并初始化了所有元素。
提示
可以只聲明而不初始化多維數(shù)組。如下例所示:
char chessBoard[8][8];
上面的代碼聲明了一個8×8的二維字符數(shù)組chessBoard。另外,多維數(shù)組的每維大小不一定要一樣。下面用單個字符表示游戲地圖的聲明是完全合法的:
char map[12][20];
3.6.3 多維數(shù)組的索引
程序接下來做的是顯示井字棋游戲的棋盤。但是在深入其細(xì)節(jié)之前,先介紹索引單個數(shù)組元素的方法。為數(shù)組的每一維提供一個值可以索引多維數(shù)組中的單個元素。在把數(shù)組中的空格替換成X時就使用了這種方法:
board[1][0] = 'X';
上面的代碼將字符X賦給元素board[1][0](原本是' ')。這步操作之后,程序以之前同樣的方式顯示了井字棋游戲的棋盤。
for (int i = 0; i < ROWS; ++i)
{
for (int j = 0; j < COLUMNS; ++j)
{
cout << board[i][j];
}
cout << endl;
}
通過一對嵌套for循環(huán),程序遍歷了整個二維數(shù)組,并顯示字符元素,形成了井字棋游戲的棋盤。