Я пытаюсь написать программу, которая будет тасовать 13 игральных карт от туза до короля. Выполните 2 карты и добавьте значение, присвоенное каждой карте. ace = 11, king = 10, jack = 10, queen = 10, десять = 10, девять = 9, восемь = 8 и т. д. ... вроде как блэкджек.C# присвоение значения массиву
Пока что я могу только перетасовать карты и распечатать две карты случайно, но я не знаю, как назначить ценность каждой карте, добавить их и распечатать. Например, если мои две случайные карты король и восемь, то я хотел бы, чтобы программа распечатать ..
King
Восемь
вот что я получил ...
static void Main(string[] args)
{
string[] Cards = new string[] {"Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "jack", "Queen", "King", "Ace"};
for (int x = 0; x < 100; x++) // looping the shuffle 100 times to maximize the randomness
{
for (int i = Cards.Length; i > 0; i--) //shuffle
{
string temp;
Random random = new Random();
int r = random.Next(i);
temp = Cards[r];
Cards[r] = Cards[i-1];
Cards[i-1] = temp;
}
}
Console.WriteLine(Cards[0]); //first random card
Console.WriteLine(Cards[1]); //second random card
Console.ReadKey();
}
Создайте класс 'Card', в котором хранятся имя и значение. Кроме того, создайте «Словарь», который отображает имя и значение. –
Rob
Как указано выше, вы должны использовать 'Collection', например' KeyValuePair' или 'Dictionary'. – Greg
Вызов «Случайный случайный = новый случайный();' внутри цикла приведет к тому, что многие (если не все) случайные числа будут одинаковыми. Вы должны использовать только один экземпляр «Random». – Enigmativity