UserFile.open(cname + ".txt");
int numOfElements = name.size();
if (UserFile.is_open())
{
name.push_back(cname);
pass.push_back(cpass);
posx.push_back(0);
posy.push_back(0);
id.push_back(numOfElements);
std::cout << "Your player name has been registered successfully." << std::endl;
UserFile << cname << ";" << cpass << ";" << "0" << ";" << "0";
}
ベクトルにプレーヤーを追加しても、numOfElementsさえ正しく動作します。ベクトルのn番目の要素としてプレーヤーIDを表す各プレーヤーの統計を読み取るにはどうすればよいですか? 例:あなたはpush_back
でき、ベクトル要素IDのC++
struct Player {
std::string name, pass;
int posx, posy;
int id;
// etc.
};
std::vector<Player> players;
は、このリストに新しいプレーヤーを追加するには:すべての
else if (userInput == "stats") // Ignore the else
{
// Name is Allura. ID is stored too. Increments from 0 to work with the vector
// What can I do to make a way of showing information only in that nth element (like element 0 if player id is 0) etc?
}
さまざまなプロパティ(name、pass、pos)を別のベクターに保存していますか?あなたは本当に構造体の単一のベクトルを持つべきです。これはC++ – qxz
あなたの質問は少し不明です。与えられた 'id'を持つプレーヤーのインデックスを探したいですか? – qxz
プレーヤー1と2のレジスタがログインします。プレーヤー1にはidベクトルが格納され、プレーヤー2にはidとして1が格納されます。プレイヤー1は統計をタイプする。両方の選手の統計情報を表示したくないので、送信する情報を知るためのプログラムが必要です。さて、プレイヤー1はidベクトルに0を格納しているので、そのプレイヤーのIDを見つけて、それを名前ベクトルの配列インデックスとして使用する必要があります。名前[ID] –