我正在做一项涉及创建简化扑克游戏的家庭作业。我是C ++的新手,但这是为了上课,所以我在这里学习。
在我处理每个玩家手形矢量后,如何在打印前对矢量进行排序?它们是用于玩家1的hand1
和用于玩家2的hand2
的char向量。卡片也是字符的向量,但是rank数组是一个字符串(因此数字{{1} } print),而suit数组是一个char(这样实际的符号打印)。而不是打印:10
它将打印:8<heart>, 3<club>, A<spade>, 4<spade>, 9 <diamond>, 8<club>, 2<club>,
我希望这是足够的信息。如果您想查看它,我可以发送我的代码。没有指针,没有课程。我还没达到那个水平(除非没有其他方法可以做我要求的)。我可以在下一节课中改进这个项目。
答案 0 :(得分:4)
std :: sort怎么样。
对矢量进行排序。
std::sort(hand.begin(), hand.end());
答案 1 :(得分:3)
答案 2 :(得分:1)
一个想法是为每张卡创建一个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
};
然后你可以轻松地对这些卡片进行排序..