gpt4 book ai didi

c++ - 如何将某些东西 push_back 成 2D Vector

转载 作者:行者123 更新时间:2023-11-30 02:31:40 28 4
gpt4 key购买 nike

我正在尝试编写 Tic-Tac-Toe 游戏代码,但不知道如何在轮到我时push_back '+' 字符。

因此,每当玩家输入例如“Oben 链接”时,这基本上意味着左上角,我希望游戏检查输入是否正确,并在玩家选择的位置放置一个 '+'。我正在做的事情似乎没有用。要么它没有保存它,要么我使用了错误的语法。

int main() {
vector < vector <char> > spielbrett(3, vector<char>('3'));
bool gewonnen = true;
string feld;

while (gewonnen) {
cout << "Position waehlen, z. B. Oben links oder Mitte Mitte usw. " << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {

cout << spielbrett[i][j] << " ";
if (j < 2) {
cout << " | ";
}

}
if (i < 2) {
cout << endl << " ------------ " << endl;
}
}
cout << endl << endl << endl;
cin >> feld;
if (feld == "Oben links") {
spielbrett[0].push_back('+');
}
else if (feld == "Oben mittig") {

}
else if (feld == "Oben rechts") {

}
else if (feld == "Mitte links") {

}
else if (feld == "Mitte mittig") {

}
else if (feld == "Mittig rechts") {

}
else if (feld == "Unten links") {

}
else if (feld == "Unten mittig") {

}
else if (feld == "Unten rechts") {

}
}
system("pause");
}

最佳答案

你不想在这里使用push_back。由于 vector 已经是 3x3 多亏了

vector < vector <char> > spielbrett(3, vector<char>('3'));

您需要做的就是直接访问职位。所以如果你想要左上角那么你想要

spielbrett[0][0] = '+';

右下角是

spielbrett[2][2] = '+';

关于c++ - 如何将某些东西 push_back 成 2D Vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37419337/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com