- Сообщений: 1167
- Спасибо получено: 159
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Ошибки в алгоритме генерации лабиринтов [RMXP]
Скрыть
Больше
15 года 1 нед. назад - 15 года 1 нед. назад #44807
от James
James создал тему: Ошибки в алгоритме генерации лабиринтов [RMXP]
Делаю работающий на эвентах генератор лабиринтов. Составил алгоритм действий, но он работает как-то неправильно. Выходы на новой клетке идут туда, куда запрещено, курсор, несмотря на все ограничения, выходит за пределы диапазона 1-5, несмотря на все ограничения, и всё такое. Где я мог ошибиться?
Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.
На выходе должно получиться до двадцати пяти переменных, в каждой из которых после перевода в бинарную систему счисления последние четыре цифры определяют расположение выходов.
Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.
На выходе должно получиться до двадцати пяти переменных, в каждой из которых после перевода в бинарную систему счисления последние четыре цифры определяют расположение выходов.
Последнее редактирование: 15 года 1 нед. назад пользователем James.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1167
- Спасибо получено: 159
15 года 1 нед. назад #44967
от James
James ответил в теме Ошибки в алгоритме генерации лабиринтов [RMXP]
Спрошу чего попроще. Я почти разобрался с алгоритмом, но теперь надо оптимизировать алгоритм выбора направления. Иначе wait 1 frame (Сделанный, дабы обеспечить возможность работы при запуске генерации параллельным эвентом) задерживает слишком надолго.
Вот в чём суть:
Есть некоторая клетка с количеством выходов от одного до четырёх. Нужно, используя средства команд эвентов, выбрать случайным образом один из этих выходов таким образом, что:
- Соседняя клетка в стороне этого выхода пуста
- Выход существует - т.е. на этой клетке с этой стороны есть выход
Иными словами, если упростить, получится, что надо отсечь неподходящие варианты и из оставшихся выбрать один. Проблема в том, что в мейкере диапазон для получения случайного числа нельзя изменить. Если задать "от 0 до 3", то потом никак нельзя сделать его "от 0 до 2"
Вот в чём суть:
Есть некоторая клетка с количеством выходов от одного до четырёх. Нужно, используя средства команд эвентов, выбрать случайным образом один из этих выходов таким образом, что:
- Соседняя клетка в стороне этого выхода пуста
- Выход существует - т.е. на этой клетке с этой стороны есть выход
Иными словами, если упростить, получится, что надо отсечь неподходящие варианты и из оставшихся выбрать один. Проблема в том, что в мейкере диапазон для получения случайного числа нельзя изменить. Если задать "от 0 до 3", то потом никак нельзя сделать его "от 0 до 2"
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1167
- Спасибо получено: 159
15 года 1 нед. назад - 15 года 1 нед. назад #44969
от James
James ответил в теме Ошибки в алгоритме генерации лабиринтов [RMXP]
Вопрос:
- Вероятность выбора любого числа A из диапазона 0..(N-1)
и
- Вероятность получения этого числа A при получении остатка от деления случайного числа B из диапазона 0..X (X делится на N) на это N
равны?
- Вероятность выбора любого числа A из диапазона 0..(N-1)
и
- Вероятность получения этого числа A при получении остатка от деления случайного числа B из диапазона 0..X (X делится на N) на это N
равны?
Последнее редактирование: 15 года 1 нед. назад пользователем James.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
15 года 1 нед. назад #44971
от mamonth
THIS IS SO-VI-ET U-NI-O-N!
Need teh butta, gonna maek toawst!
mamonth ответил в теме Ошибки в алгоритме генерации лабиринтов [RMXP]
не думаю. тот же остаток ты можешь получить два или более раз, те вероятность получения такого остатка будет больше.
пример: 50 mod 7 = 1
50 mod 49 = 1
пример: 50 mod 7 = 1
50 mod 49 = 1
THIS IS SO-VI-ET U-NI-O-N!
Need teh butta, gonna maek toawst!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1167
- Спасибо получено: 159
15 года 1 нед. назад #44976
от James
James ответил в теме Ошибки в алгоритме генерации лабиринтов [RMXP]
Поэтому я и уточнил, что X делится на N
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
15 года 1 нед. назад #44977
от mamonth
THIS IS SO-VI-ET U-NI-O-N!
Need teh butta, gonna maek toawst!
mamonth ответил в теме Ошибки в алгоритме генерации лабиринтов [RMXP]
я, наверное, недопонимаю.
возьмем Х=100, N=25
выпадает В=26
26 mod 25 = 1
Но! Может выпасть B=51
51 mod 25 = 1
или я точно что то не понимаю
возьмем Х=100, N=25
выпадает В=26
26 mod 25 = 1
Но! Может выпасть B=51
51 mod 25 = 1
или я точно что то не понимаю
THIS IS SO-VI-ET U-NI-O-N!
Need teh butta, gonna maek toawst!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1167
- Спасибо получено: 159
15 года 1 нед. назад #44979
от James
James ответил в теме Ошибки в алгоритме генерации лабиринтов [RMXP]
Суть в том, что, насколько я понимаю, каждый остаток можно получить одинаковое число раз, поэтому шансы равны.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.100 секунд
