Сделать колоду карт - C#

Узнай цену своей работы

Формулировка задачи:

Ребят, я сразу дико извиняюсь и подобных тем тут предостаточно, но тут вопрос личного характера. Пожалуйста, не обращайте внимание на мой нубский код, я занимаюсь мозговым штурмом. Пока неудачно. Вот я сделал алгоритм в своей голове и вроде бы в теории всё работает, но на практике нет. Помогите пожалуйста именно с таким подходом.
Листинг программы
  1. int[] deck = new int[1000]; // Колода на нное количество мест.
  2. int rank = 0; // Исходный ранк карты.
  3. int suit = 0; // Исходная масть карты.
  4. int counterRank = 0; // Переменная показывает и определяет ранк карты в массиве deck.
  5. int counterSuit = 1; // Переменная показывает и определяет масть карты в массиве deck.
  6. do
  7. {
  8. deck[counterRank] = rank; // Записываю значение rank, который равен 0 в индекс counterRank, который тоже вначале равен 0.
  9. deck[counterSuit] = suit; // Записываю значение suit, который равен 0 в индекс counterSuit, который тоже вначале равен 0.
  10. counterRank = counterRank + 2; // После записи я меняю индекс карт в массиве по ранку и масти на один шаг вперёд для каждой карты.
  11. counterSuit = counterSuit + 2;
  12. suit = suit + 1; // Прибавляю масть (всего мастей 4).
  13. if (suit == 4)
  14. {
  15. suit = 0;
  16. rank = rank + 1; // Когда все масти для текущего ранка закончились, то перевожу ранк на +1. И так далее до 12 ранка.
  17. }
  18. Console.WriteLine("{0} {1}", deck[counterRank], deck[counterSuit]);
  19. }
  20. while (rank < 13);
  21. Console.ReadKey();
Белиберда в общем. По сути в одномерном массиве тоже можно сделать колоду карт.

Решение задачи: «Сделать колоду карт»

textual
Листинг программы
  1. const int allCount = 52; // Всего карт  колоде (должно быть кратно 4)
  2. const int oneCount = allCount/4; // Кол-во карт одной масти
  3. int[] cards = new int[allCount*2];
  4. for (int i=0, rank=0; i<oneCount; rank++, i++)
  5. {
  6.     int idx = i*2;
  7.  
  8.     cards[idx] = rank;
  9.     cards[idx+1] = 0;
  10.  
  11.     idx += oneCount*2;
  12.     cards[idx] = rank;
  13.     cards[idx+1] = 1;
  14.  
  15.     idx += oneCount*2;
  16.     cards[idx] = rank;
  17.     cards[idx+1] = 2;
  18.    
  19.     idx += oneCount*2;
  20.     cards[idx] = rank;
  21.     cards[idx+1] = 3;
  22. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы