做某事的几率

时间:2015-02-21 19:12:01

标签: c++

我有一个游戏的2D网格系统,我用树木填充它。我希望有25%的机会在一块瓷砖上放一棵树。但是,我已经完成了下面的代码,并且树木在4中完美排列。我不会认为25%的机会总会导致如此统一的方式来制作完美的树木和树木。他们根本不会交错。这可能只是我不理解这一点,但如果我想要25%的机会放置一棵树,我会期待更多的可变树放置。我在这里缺少什么?

srand(time(NULL));

for (row = 0; row < 800; row++)
    {
        for (col = 0; col < 800; col++)
        {
            // 1 - 100
            int num = rand() % 100 + 1;

            // 25% chance to have a tree
            if (num <= 25)
            {
                // cal center tile position
                Vec3 pos;
                pos.x = ((col * .32) - (256 / 2)) + (.32 / 2);
                pos.y = 0;
                pos.z = (256 / 2) - (row * .32) - (.32 / 2);

                // create the tree object just to fill in it's data
                Item tree;
                tree.item_id = itemsList[(rand() % 2)];
                tree.owner_id = 0;
                tree.y_rotation = (rand() % 360);
                tree.x = pos.x;
                tree.z = pos.z;
            }
        }
    }

0 个答案:

没有答案