Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

RM2k3: непонятки с random'ом

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
13 года 9 мес. назад - 13 года 9 мес. назад #53821 от Cerberus
Собственно, ситуация такая. Требуется случайным образом выбрать одну из двух веток ивента. Не нашёл ничего лучше, как сгенерировать случайное число от 1 до 2 вот таким образом:

На практике (специально отслеживал через ф9) в этот момент сначала генерируется мусор (наблюдал там числа 256, 48, 20...), а затем стабильно каждый раз присваивается единица. Собственно, вопрос: какого чёрта? Если бы ещё два-три раза было так, ещё ничего, но я пробовал раз пятнадцать и двойки ни разу не увидел.
З.Ы. Написал и сразу решил, что можно сделать иначе: сгенерировать число от 1 до, например, 1000 и взять остаток от деления на 2. Но ответ всё равно получить хотелось бы - ради понимания происходящего :)

upd: насчёт мусора сам дурак (буквально следующая команда после ветвления уже записывает в эту переменную другой random), но почему всё время выбиралась ветвь с единицей - хотелось бы понять.

Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 13 года 9 мес. назад пользователем Cerberus.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Художник Писатель 2 место Учитель Оратор Паладин Организатор конкурсов Писатель 3 место Победитель конкурса 2 место
Больше
13 года 9 мес. назад #53825 от sando
Да ты все сделал правильно, но тут могла быть ошибка в уловии запуска ивента (там стандартно стоит Больше или Равно, кажется, надо поменять чтобы было равно). На всякий случай выкладываю демку по этому вопросу.

minus.com/l4oMfsMzPk14P

vk.com/sando_rpgmaker - пустая болтовня (приходите)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
13 года 9 мес. назад - 13 года 9 мес. назад #53826 от Cerberus
Хм, в моей версии мэйкера по умолчанию стоит "равно"... Кроме того, с другой генерацией (от 1 до 1000 и остаток по 2) работает как надо, выдаёт и то, и другое. За демку спасибо, посмотрю.

upd: может ли разное поведение быть связано с тем, что я использовал сгенерированную переменную в условии непосредственно в действиях ивента, а не в условии запуска? И да, вполне возможно, что у меня изначальный баг был вовсе и не багом - в демке тоже раз шесть подряд выпадала единица. Издержки рандома :)

Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 13 года 9 мес. назад пользователем Cerberus.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
13 года 9 мес. назад #53827 от Lekste
Поставь от 1 до 3 и будет все норм. Наверно. :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов Разработчик Писатель Писатель 2 место 2 место Победитель конкурса 3 место
Больше
13 года 9 мес. назад #53836 от James
Шесть раз подряд - это, действительно, могут быть издержки рандома.
В конце концов,
1/64 <> 0
С такой же вероятностью можно Warmech'а встретить в Летающей крепости. А мне их пришлось убивать больше одного раза.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.098 секунд
Работает на Kunena форум