CCRandom_0_1 () создать тот же номер - PullRequest
1 голос
/ 28 мая 2011

я использую CCRandom_0_1 () для генерации случайного числа, как это предлагается в книге «учись-iphone-and-ipad-with-cocos2d» но, похоже, функция генерирует то же число.

    int ran1 = ((int) (CCRANDOM_0_1() * 5)) + 1;
    int ran2 = ran1;
    while (ran2 == ran1) {
        ran2 = ((int) (CCRANDOM_0_1() * 5)) + 1;
    }

вот код, в котором я хочу сгенерировать 2 разных целых числа от 1 до 5. но консоль всегда

2011-05-28 14:57:56.699 LetsSpotIt[2443:707] r1: 4.200939 r1: 1.971915

Можно ли как-нибудь посеять его по времени (мини-секунда) или есть какие-то другие функции для использования?

Пожалуйста, дайте мне пример кода. Я не изучал с или с ++ раньше. Спасибо.

Ответы [ 2 ]

6 голосов
/ 28 мая 2011

Если вы хотите, чтобы при каждом использовании кода использовались разные значения, вы должны заполнить генератор случайных чисел. Самый популярный способ - вызвать srandom (time (NULL)) перед использованием CCRANDOM

4 голосов
/ 28 мая 2011

Вы пробовали использовать функцию arc4random ()? Также смотрите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...