Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с рандомными числами

370
05 апреля 2006 года
koval
443 / / 29.08.2005
Вопрос следующий. Пишу бота в игре и хочу заставить его рандомна двигаться. Все хорошо пока бот не находит препятствие т.е. он должен изменить направление движения тоже рандомна, но не должен принять тоже направление движения

creature_state = rand()%4;
if(...) //происходит столкновение с препятсвием


К примеру его движение равно 2, как рандомна выбрать из 1,3 и 4

За ответ заранее благодарен.
8.7K
05 апреля 2006 года
Rubicon
55 / / 28.10.2005
Цитата:
Originally posted by koval
creature_state = rand()%4;
if(...) //происходит столкновение с препятсвием


 
Код:
{
 new_direction = rand()%4;
 new_directoin= (new_directoin+(new_direction==creature_state))%4;
}

далеко не самый лучший способ (первое, что пришло в голову), но повторения не будет.

Хотя, говоря откровенно, rand() не даст тебе даже малого приближения к генератору случайных чисел, к тому же ты берешь такой маленький модуль (4). Лучше найди готовый ГСЧ; ну, на хутой конец попробуй srand(time(NULL)) вставить перед первым вызовом rand().
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог