Я не могу заставить работать свою программу карточной игрыC#

Место общения программистов C#
Ответить
Anonymous
 Я не могу заставить работать свою программу карточной игры

Сообщение Anonymous »

Я пытался создать простую карточную игру, чтобы попрактиковаться в C#, но застрял при попытке создать колоду карт. Я понимаю, что то, как я это делаю, совсем не хорошо или как вы должны это делать, но сейчас я просто хочу посмотреть, как я смогу заставить это работать в качестве учебного опыта, больше всего на свете.
Я храню кучу объектов Card из моего класса Card в словаре под названием Deck:
internal class Deck
{
public Dictionary deck = new Dictionary();

public Deck()
{
int k = 0;

for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 4; j++)
{
deck.Add(String.Format("card{0}", k.ToString()), new Card((i+1), (j+1)));
}
}
}

public void Deck_Display()
{
for (int i = 0; i < 52; i++)
{
Card aaa = deck[String.Format("card{0}", i.ToString())];
Console.WriteLine($"{aaa.GetSuit()}, {aaa.GetRank()}");
Console.WriteLine("\n");
}
}
}

При попытке отобразить любую отдельную карту или всю колоду в Deck_Display он каждый раз просто отображает последнюю карту в колоде.
Когда я буквально копирую и вставляю код Deck_display в цикл, где создается Deck, он делает именно то, что я хочу, что также не имеет смысла.
Скажите, пожалуйста, что я делаю неправильно, это, вероятно, что-то очень глупое...
А еще вот мой основной метод и класс карты на случай, если это как-то связано с этим:
internal class Program
{
static void Main()
{
Deck bruh = new Deck();
bruh.Deck_Display();
}
}

internal class Card
{
public static int suit;
public static int rank;

public Card(int suit1, int rank1)
{
suit = suit1;
rank = rank1;
}

public int GetSuit()
{
return suit;
}

public int GetRank()
{
return rank;
}
}


Подробнее здесь: https://stackoverflow.com/questions/780 ... am-to-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»