在4x6网格中显示和随机化精灵 - Cocos2d-x

时间:2014-11-04 02:33:37

标签: c++ cocos2d-x

我正在尝试设置卡片匹配游戏。我有一个可以容纳16张独特牌的矢量。我试图让它随机化卡片向量,但只选择前12张牌并在棋盘上创建一个4x6网格,总共24对匹配。我已经填充了卡片矢量,但我不确定如何创建网格,因此卡片在网格内间隔开。而且我不确定如何将卡片矢量改组,因此每次都不同。另外,我使用的是Cocos2d-x 3.2。谢谢你的任何建议。

std::vector<Sprite*> cards;
std::vector<std::string> cardNames = { "0.png", "1.png", "2.png", "3.png", "4.png", "5.png", "6.png", "7.png", "8.png", "9.png", "10.png", "11.png", "12.png", "13.png", "14.png", "15.png" };

for (int n = 0; n < cardNames.size(); n++)
{
    auto sprite = Sprite::create(cardNames.at(n));

    sprite->setPosition(cocos2d::Point((50 * (n + 1)), 20));
    sprite->setTag(n);

    cards.push_back(sprite);

    addChild(sprite);
}

1 个答案:

答案 0 :(得分:0)

for (int n = 0; n <= 15; n++)
             // ^^^^^^^
对于我来说,对于传统的惯例来说,

看起来很不对劲。

为什么不简单

for (int n = 0; n < cardNames.size(); n++)

代替?


关于如何随机播放,请参阅std::shuffle et al