簡體   English   中英

如何將某些東西推回到2D矢量中

[英]How to push_back something into a 2D Vector

我正在嘗試編寫Tic-Tac-Toe游戲的代碼,並且無論何時輪到我都無法弄清楚如何push_back一個'+' char。

因此,每當玩家輸入例如“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 由於矢量已經是3x3,因此

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

您需要做的就是直接訪問這些職位。 所以如果你想要左上角那么你想要的

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

右下角是

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM