【问题标题】:Shuffle Vector of Decks洗牌向量的甲板
【发布时间】:2013-04-07 22:32:21
【问题描述】:

这是我正在使用的。我有一个包含卡片信息的 Card 类,我有一个设置 52 张卡片组的卡片组,我有一个设置卡片向量的 Shoe 类。问题是洗牌。 std::random_shuffle 效果很好,但我无法完成我想要的。

我可以洗牌,也可以洗牌的向量,但它仍然会将这些牌堆叠在一起。我正在寻找一种将牌组洗牌的方法。任何帮助将不胜感激。 ;)。

【问题讨论】:

  • 组合向量,然后将它们洗牌。 stackoverflow.com/questions/3177241/…
  • 好吧,我试试看;)
  • Shoe 类提供卡片向量和AddDeck() 方法可能更容易。该方法当然将 52 张卡片添加到卡片向量中。看来Deck 类并没有增加多少价值,你只是在一个地方为了一个目的使用它。
  • 基本数据表示错误。鞋子不是甲板的集合。鞋子是卡片的集合,就像一副牌一样,它只是更大。您需要对两者使用相同的结构,除了鞋子必须允许重复。此外,如果您正在制作严肃的工业级游戏模拟,标准库随机数生成器很少足够。例如,我的公共领域 OneJoker 库使用 JKISS 算法加上 Fisher-Yates 洗牌。 160 行 C 代码,可用here
  • 谢谢 MSalters 和 Lee Crocker,这就是我所做的。甲板类通过使用添加甲板的方法来组装鞋子。它完美地工作;)

标签: c++ vector shuffle


【解决方案1】:

在 Shoe 类中,您可以创建另一个卡片向量并使用 insert 方法将所有 Deck 向量连接在一起,然后将结果向量洗牌(假设您只是想要一个装满卡片的大型混合鞋) .

【讨论】:

  • 是的,这正是我想要的 ;) ty
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-05
  • 2013-10-20
  • 2015-01-29
  • 2021-05-04
  • 2020-10-12
  • 2013-12-18
  • 1970-01-01
相关资源
最近更新 更多