Сортировка карт в покере C ++ - PullRequest
1 голос
/ 20 октября 2011

Я работаю над домашним заданием, которое включает создание упрощенной игры в покер.Я новичок в C ++, но это для класса, поэтому я здесь, чтобы учиться.

После того, как я раздам ​​каждому вектору игроков, как мне отсортировать вектор, прежде чем он будет напечатан?Это векторы символов, называемые hand1 для игрока 1 и hand2 для игрока 2. Колода также является вектором символов, но массив рангов - это строка (так что печатается число 10), иМассив масти - это символ (чтобы печатались реальные символы).Вместо печати: 8<heart>, 3<club>, A<spade>, 4<spade>, 9 <diamond>, 8<club>, 2<club>, будет напечатано: 2<club>, 3<club>, 4<spade>, 8<heart>, 8<club>, 9 <diamond>, A<spade>.

Надеюсь, этого было достаточно.Я могу отправить свой код, если вы хотите посмотреть его.Нет указателей, нет классов.Я еще не на этом уровне (если нет другого способа сделать то, что я прошу).Я могу улучшить этот проект в моем следующем классе.

Ответы [ 3 ]

4 голосов
/ 20 октября 2011

Как насчет std :: sort.

Сортирует вектор.

std::sort(hand.begin(), hand.end());

См .: http://www.sgi.com/tech/stl/sort.html

3 голосов
/ 20 октября 2011

использование std::sort

http://www.cplusplus.com/reference/algorithm/sort/

1 голос
/ 20 октября 2011

Идея заключалась бы в создании struct для каждой карты:

struct card {
   char textRepresentation; // 2, 3, A, J
   int  color; // any code..

   int  sortOrder; // a number describing the position in a sorted order
   // you can also include the color here somehow
};

Тогда вы можете легко отсортировать эти карты ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...