Я пытаюсь создать простую консольную карточную игру на c #.Мне трудно понять, как получить доступ к именам моих игроков после того, как они были созданы.
Я пытаюсь создать массив объектов, в котором каждый игрок хранит свой индекс.По мере развития игры я добавляю дополнительные свойства в класс игрока (например, оставшиеся карты).
Я надеюсь, что смогу отобразить имя игрока, его идентификационный номер и т. Д., Но не знаю, как это сделать.выведите это значение.Я пробовал Console.WriteLine(playerList[i])
, но это просто печатает пространство имен и класс.Я также не могу сделать что-то вроде Console.writeLine(playerList[i].name)
, но это тоже не сработает.
Любая помощь или обратная связь - это здорово!Спасибо!
class Player
{
public int id;
public string name;
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hi, enter how many players are playing");
int numOfPlayer = int.Parse(Console.ReadLine());
Player[] playerList = CreatePlayers(numOfPlayer);
//What I'm trying to do! >>
//Console.WriteLine(playerList[0].name + "'s turn")
}
static Player[] CreatePlayers(int amountOfPlayers)
{
Player[] playerList = new object[amountOfPlayers];
for (int i = 0; i < amountOfPlayers; i++)
{
Console.WriteLine("Enter a name for player " + (i + 1));
string playerName = Console.ReadLine();
Player player = new Player();
player.id = i;
player.name = playerName;
playerList[i] = player;
}
return playerList;
}
}
РЕДАКТИРОВАТЬ: я изменил массив объектов в массив игрока, и я обновил его в коде выше.Кажется, теперь я могу получить доступ к имени, написав Console.Writeline (playerList [0] .name.ToString ()).Это достойный способ сделать это?