c ++动态数组名称

时间:2015-07-13 22:45:21

标签: c++ arrays function

我希望能够在打印时更改我所指的数组的名称。我想将“占位符”从当前更改为移动。我希望当前可编辑,但一旦切换到移动,我希望它能锁定它的值。有什么方法可以实现这个或更好的方式来实现我的目标吗?这是一个愚蠢的tic tac toe游戏,你使用wasd移动光标(星号),k来标记你的位置(x)。我知道如何做“ai”,但我坚持这个。谢谢!

*| | 
-----
 | | 
-----
 | |


x| | 
-----
 | | 
-----
 | |


char current[3][3] {{' ', ' ', ' '}, { ' ', ' ', ' ' }, { ' ', ' ', ' ' }};
char moves[3][3] {{' ', ' ', ' '}, { ' ', ' ', ' ' }, { ' ', ' ', ' ' }};

void printBoard(){
    system("cls");
    cout << placeholder[0][2] << '|' << placeholder[1][2] << '|' << placeholder[2][2] << '\n';
    cout << "-----\n";
    cout << placeholder[0][1] << '|' << placeholder[1][1] << '|' << placeholder[2][1] << '\n';
    cout << "-----\n";
    cout << placeholder[0][0] << '|' << placeholder[1][0] << '|' << placeholder[2][0] << '\n';
}

1 个答案:

答案 0 :(得分:2)

将要打印的数组作为参数传递:

void printBoard(const char (&array[3][3]))
{
    cout << array[0][2] << '|' << array[1][2] << '|' << array[2][2] 
    ...
}

printBoard(current);
printBoard(moves);

此外,您可以使用for循环来改进代码以打印数组。