现在我正在编写一个程序来确定一手牌的价值。总共五个。我有一个cardHand对象。我打算编写一个对象,将两个对象组合在一起,以确定哪个手具有更高的值。将要比较的两个对象是包含可能的手值的对象(一对,三种等等)。
stackoverflow会将此视为OOP的拟合方法吗?
PS:我知道这个算法在互联网上流传,但是我试图通过我自己的第一次为XP做这个。答案 0 :(得分:2)
你想要做的是这样的事情:
operator<
,以便您可以确定单个卡片的分类。如果您将卡片存放在手中的std::multiset
,您的卡片会自动将它们组合在一起。
也就是说,如果您插入2, 7, 3, 4, 3
,它们将按此顺序排列:2, 3, 3, 4, 7
。这将帮助您确定对和连音符等内容。
答案 1 :(得分:0)
每个手对象不应该具有固有价值吗?然后你可以有另一个对象(经销商?)比较每只手的值。经销商也可用于实例化每个手对象。
然后,也许我将整个'建模问题域'的方法有点过分了。 ; - )
答案 2 :(得分:0)
定义决定哪一手更高的规则。
rule1&gt; rule2&gt;规则3 ...
与最大的比较。
判断hand是否适合rule1而不是hand1。
判断hand是否适合rule2而不是hand2。
...
如果它们在同一规则中,则在每个规则中制作类似的算法。
这只是一个想法......你可以考虑一下......