Я хочу знать, есть ли способ использовать проценты, чтобы текст появлялся реже или чаще, например, если я хочу, чтобы слово 1 появлялось в 1% случаев, слово 2 - в 40% случаев, а слово 3 - в 59% случаев.

0
MRRPlatinum 8 Апр 2014 в 05:00

2 ответа

Лучший ответ

Самый простой способ - запустить RNG (Random) (в зависимости от времени или чего-то динамического), скажем, от 1 до 100, тогда вы можете проверить, меньше ли полученное вами число или равно 1, введите слово, которое вы хотите, с 1% шанс и т. д. ... если у вас есть другое число больше 1, введите слово, которое встречается в 99% случаев -> оно упрощено.

Однако это может быть не лучшим решением, потому что random не является на самом деле случайным (но это еще одна проблема).

Вернуться к исходному вопросу слово1 -> 1% is <=1 слово2 -> 40% is >1 && <= 40 word3 -> может быть else

0
Roma-MT 8 Апр 2014 в 01:13

Если вам нужны простые проценты, выберите случайным образом число между [0,99] и «назначьте» диапазоны для разных результатов. Просто,

- (NSString*)randomWord
{
    uint32_t r = arc4random_uniform(100);
    if (r < 1) return word1;
    if (r < 41) return word2;
    return word3;
}
1
Jody Hagins 8 Апр 2014 в 01:10