Нужно маленькое изменение.
Это вряд ли))
Оставим этот рецепт на потом. Программирование, это не я.
Думаю вряд-ли. Мы же через SCALE будем приводить к 8ми числам некий диапазон. А вероятность выпадения числа в диапазоне, по идее, будет даже выше, чем среди 8 чисел. Трудно сказать, но мне кажется будет даже хуже.
Что то не понял алгоритм.
Сейчас буду пробовать. Наворот конечно получится.
Ну это я понимаю, сразу же и написал.
Кажись получилось. Правда долго ломал голову, как одновременно переключать и сравнивать. Но вроде заработало. Платы 5,6,7.
Не совсем гирлянда. Алгоритмы там уже есть, просто хочется перебор их сделать случайным.pony sonata писал(а): ↑08.04.2018{, 18:49}если гирлянда, не проще ли юзать заранее заданные алгоритмы? будет и красиво и симметрию/асимметрию легко сделать
Полностью согласен, но пока делал пример нашлось другое решение. Тем не менее, можно заполнять массив результатами блока рандом и при выпадении числа, которое уже есть в массиве, заменить его числом что находится под самым старшим индексом (4 или 0 в блоке GetFromArray) в этом массиве. Здесь помогут штатные блоки (см.проект). Делать блок на Си нецелесообразно, но если есть необходимость, то можно за счёт оптимизации типов переменных съэкономить 10 байт Flash и 4 байта SRAM заменив их байтовыми прямо в ИДЕ.
Похоже он в штатном блоке используется (см. код) randomSeed(analogRead(0));