делаешь свич на все эти группы в зависимости от числа. А число рандомишь
Можно без Switch организовать:Используйте Данные -> Random, далее через логический блок Switch, в зависимости от данных, ведите туда, куда нужно.
Я лично запутался и ничего не понял) Думаю новичку все же легче сделать 2 элементарных действия - рандомное число и свич в зависимости от результатаМожно без Switch организовать:
Например, нам нужно зарандомить выбор между 10 отдельными группами экшенов, ставим их просто друг за другом, и в начале каждого ставим один и тот же блок рандомного выбора через спинтакс, в который помещаем 9 элементов, которые не используются в наборах экшенов, и в одном месте элемент, который используется. Зачем это нужно? Так мы получим вероятность 1 к 10, что выпадет именно текущий элемент. Если спинтакс выберет используемый в экшене элемент (например номер совпадения), то через переменную он подставится в нужное место, и текущая цепочка отработает, и основной шаблон пойдёт дальше. Если спинтакс выберет один из 9 неиспользуемых элементов, то через переменную подставится значение, которое приведёт к ошибке и к переходу к следующему набору экшенов. Если из 10 не разу не выпадет положительный вариант, то переход к началу и всё по новой (т.е. ошибка последнего модуля ведёт к началу).
Выражение спинтакса можно вынести в начальные настройки проекта для удобства и подставлять его через переменную в блоки спинтакса.
P.S. Думаю, разместить в начале каждого набора экшенов один и тот же элемент не сложнее, чем организовать гребёнку свича, так что как вариант (который можно доработать) вполне можно рассмотреть.
Если нужна проверка "используется ли уже текущий рандом", то можно сделать проверку IF после блока рандома.Можно без Switch организовать
Неправда, в проектах Зенно широко используется выход с действия по ошибке в качестве логического значения. Я просто подстроился под эту концепцию, используя существующие возможности.Если нужна проверка "используется ли уже текущий рандом", то можно сделать проверку IF после блока рандома.
Спинтакс предназначен для другого, это все равно, что забивать гвозди сапогом.
В Зенно отсчёт от 0. От 0 до 3-х как раз выпадает 3 значения: 0, 1 и 2. Если начинаешь отсчёт от 1, то плюсуй к верхнему значению.Сделал рандом чисел от 1 до 3. Свитч и три перехода. Почему то выпадает только 1 и 2.
И возникла мысль, как сделать чтоб в итоге все цифры выпали примерно одинаковое количество раз?
понял)В Зенно отсчёт от 0. От 0 до 3-х как раз выпадает 3 значения: 0, 1 и 2. Если начинаешь отсчёт от 1, то плюсуй к верхнему значению.
Как я понимаю, верхняя 3 означает число вариантов при отсчёте от 0. Т.е. она не включается в диапазон выбора. Это такая особенность у языков программирования, за исключением некоторых:поставил от 0 до 3. все равно 3 не выпадает.. тоесть от 0 до 3 не включает 3 в выбор, а только 0 1 2 так?
И Зенно, видимо, придерживается традиций.
я правильно понимаю, ты предлагаешь блок рандома и блок свича заменить на 10 блоков спинтакс?)Можно без Switch организовать:
Например, нам нужно зарандомить выбор между 10 отдельными группами экшенов, ставим их просто друг за другом, и в начале каждого ставим один и тот же блок рандомного выбора через спинтакс, в который помещаем 9 элементов, которые не используются в наборах экшенов, и в одном месте элемент, который используется. Зачем это нужно? Так мы получим вероятность 1 к 10, что выпадет именно текущий элемент. Если спинтакс выберет используемый в экшене элемент (например номер совпадения), то через переменную он подставится в нужное место, и текущая цепочка отработает, и основной шаблон пойдёт дальше. Если спинтакс выберет один из 9 неиспользуемых элементов, то через переменную подставится значение, которое приведёт к ошибке и к переходу к следующему набору экшенов. Если из 10 не разу не выпадет положительный вариант, то переход к началу и всё по новой (т.е. ошибка последнего модуля ведёт к началу).
Выражение спинтакса можно вынести в начальные настройки проекта для удобства и подставлять его через переменную в блоки спинтакса.
P.S. Думаю, разместить в начале каждого набора экшенов один и тот же элемент не сложнее, чем организовать гребёнку свича, так что как вариант (который можно доработать) вполне можно рассмотреть.
Я предлагаю этот вариант взять на заметку, возможно такой подход где-то будет оправдан, не обязательно здесь.я правильно понимаю, ты предлагаешь блок рандома и блок свича заменить на 10 блоков спинтакс?)
копировать не труоемко. но зачем множитьЯ предлагаю этот вариант взять на заметку, возможно такой подход где-то будет оправдан, не обязательно здесь.
Плюс ты пишешь так, как-будто это более трудоёмко, но подумай, ведь все блоки абсолютно одинаковые и скопировать их не составляет труда.
В гребёнке тоже размножение идёт, так что это не очень критичный довод. Или ты имел в виду организацию цикла с подстановкой разных наборов экшенов к одному спинтаксу?копировать не труоемко. но зачем множить
Как сделать random в проекте, чтоб при каждом новом старте проекта менялась одна его часть. Будет несколько таких частей (групп экшенов), которые следут подменять. Но не по порядку а рэндом.
Используйте Данные -> Random, далее через логический блок Switch, в зависимости от данных, ведите туда, куда нужно.
Я придумал, как без Свича и проще сделать:делаешь свич на все эти группы в зависимости от числа. А число рандомишь