Сделать колоду карт - C#
Формулировка задачи:
Ребят, я сразу дико извиняюсь и подобных тем тут предостаточно, но тут вопрос личного характера. Пожалуйста, не обращайте внимание на мой нубский код, я занимаюсь мозговым штурмом. Пока неудачно. Вот я сделал алгоритм в своей голове и вроде бы в теории всё работает, но на практике нет. Помогите пожалуйста именно с таким подходом.
int[] deck = new int[1000]; // Колода на нное количество мест. int rank = 0; // Исходный ранк карты. int suit = 0; // Исходная масть карты. int counterRank = 0; // Переменная показывает и определяет ранк карты в массиве deck. int counterSuit = 1; // Переменная показывает и определяет масть карты в массиве deck. do { deck[counterRank] = rank; // Записываю значение rank, который равен 0 в индекс counterRank, который тоже вначале равен 0. deck[counterSuit] = suit; // Записываю значение suit, который равен 0 в индекс counterSuit, который тоже вначале равен 0. counterRank = counterRank + 2; // После записи я меняю индекс карт в массиве по ранку и масти на один шаг вперёд для каждой карты. counterSuit = counterSuit + 2; suit = suit + 1; // Прибавляю масть (всего мастей 4). if (suit == 4) { suit = 0; rank = rank + 1; // Когда все масти для текущего ранка закончились, то перевожу ранк на +1. И так далее до 12 ранка. } Console.WriteLine("{0} {1}", deck[counterRank], deck[counterSuit]); } while (rank < 13); Console.ReadKey();
Белиберда в общем. По сути в одномерном массиве тоже можно сделать колоду карт.
Решение задачи: «Сделать колоду карт»
textual
Листинг программы
const int allCount = 52; // Всего карт колоде (должно быть кратно 4) const int oneCount = allCount/4; // Кол-во карт одной масти int[] cards = new int[allCount*2]; for (int i=0, rank=0; i<oneCount; rank++, i++) { int idx = i*2; cards[idx] = rank; cards[idx+1] = 0; idx += oneCount*2; cards[idx] = rank; cards[idx+1] = 1; idx += oneCount*2; cards[idx] = rank; cards[idx+1] = 2; idx += oneCount*2; cards[idx] = rank; cards[idx+1] = 3; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д