Аттракцион "Волк яйцелов"
- Войдите на сайт для отправки комментариев
Всем привет. Хочу сделать аттракцион "Волк яйцелов". https://www.youtube.com/watch?v=H03D73WJxlw примерно как тут. Шарики будут подаваться с помошью актуаторов (https://auto.today/bok/3835-aktuator-centralnogo-zamka.html). Помогите написать скейтч что бы в нем были нексолько уровней сложности (1 уровень предположим 1 шарик в секунду, 2 уровень 2 шарика в секунду и т.д.) но что бы при кажном запуске были разные последовательности. (а за всю игру дожны быть использованы все шарики (предпологаю поставить концевики на определения остались ли шарики, если нет то не использовать этот актуатор и т.п.) или может как то программно считать колличество истраченных шариков (предпологается что в каждом лотке по 15 шариков в начале игры. Получится ли использовать функцию рандом? или придется протисывать последовательности в ручную? Подскажите как лучще сделать? и примерный алгоритм если возможно? Спасибо заранее.
тебе надо писать в "ищу исполнителя" а если хочешь бесплатно, то пиши что делаешь, и что у тебя не получается, а мы будем помогать исправлять, в любом случае у тебя должно быть хоть что то уже написанно
А зачем актуаторы? Тут надо что-то резкое, чтобы заслонку открывало, а шары пусть катятся под действием силы тяжести.
я думаю он и имел это ввиду
А зачем актуаторы? Тут надо что-то резкое, чтобы заслонку открывало, а шары пусть катятся под действием силы тяжести.
просто акутаторы будут открывать шторки
А они быстрые? В противном случае человек с хорошим слухом будет понимать, откуда полетит шар.
Бутут шторки, которыми и будут оправлять актуаторы, скоростьу них приличная.
А они быстрые? В противном случае человек с хорошим слухом будет понимать, откуда полетит шар.
можно остальными просто щелкать вниз допустим, что бы тоже звук издавали какой нибудь)))
Вот никидал такой код, пока на светодиодах. Минус в том что рандом может выбрать одно и тоже число раз по 5. Соответственно в одном лотке очень быстро закончатся шарики и игра будет продолжаться с 3мя лотками. Писать алгоритмы вручную?? (хочется что бы хотя бы алгоритмов 5 разных было) Что скажете?
И еще как можно организовать смену темпа? (менять уровни сложности, менять задержку по истечению какого то времени, или выбросу определенного количества шариков)
сделай число побольше, не 5 а 200 допустим, и дели его потом на 40
получил там 36 - поделли на 40 получилось 0 - записал =1 и т.д. ну я не прям точною формулировку сделал, а просто подумай в этом направлении
И еще как можно организовать смену темпа? (менять уровни сложности, менять задержку по истечению какого то времени, или выбросу определенного количества шариков)
то что в скобках где delay(150) напиши delay(level) и потом где нибудь меняй значение level = 300, level = 200,
Помогите написать скейтч что бы в нем были нексолько уровней сложности (1 уровень предположим 1 шарик в
Опять skaytch. Откуда это берётся блин? Ну допустим не владеете английским -есть же русское слово скетч. Зачем коверкать?
Учту замечание.
Чтобы рандом выдавал случайное значение - нужно чтобы в скобках тоже стояло случайное число :) Сюда обычно вписывают результат чтения из аналогового порта, который ни к чему не подключен.
Минус в том что рандом может выбрать одно и тоже число раз по 5. Соответственно в одном лотке очень быстро закончатся шарики и игра будет продолжаться с 3мя лотками.
можешь еще записывать выпавшее числов рандоме в какую нибудь переменную, допустим рандом_1 = 4, и потом провеять его радом_2 = рандом_1, снова радом принимает какое то значение, записываешь его в рандом_1 и сверяешь, если радом_2 == рандом_1 то выполнить снова команду рандома, если отличается, то погнали выполнять программу
Чтобы рандом выдавал случайное значение - нужно чтобы в скобках тоже стояло случайное число :) Сюда обычно вписывают результат чтения из аналогового порта, который ни к чему не подключен.
а так незя делать( я оставил порты в воздухе, от моторчиков ардуино сходила с ума. как только подтянул их к земле, сразу ардуинка перестала зависать и перезагружаться
Чтобы рандом выдавал случайное значение - нужно чтобы в скобках тоже стояло случайное число :) Сюда обычно вписывают результат чтения из аналогового порта, который ни к чему не подключен.
читал про эту возможность, только немного не понял. Какой диапозон чисел может попасть в рандом? И как мне после этого привезти в нужный вид числа. Предположим в рандом попадет число 700. а у меня всего 4 варианта.
читал про эту возможность, только немного не понял. Какой диапозон чисел может попасть в рандом? И как мне после этого привезти в нужный вид числа. Предположим в рандом попадет число 700. а у меня всего 4 варианта.
самый простой вариант http://arduino.ru/Reference/Map - хотя это бред...
надо формулу делаеть))) и что бы в формуле контрольная цифра была - значение с аналоговой ноги
Предположим в рандом попадет число 700. а у меня всего 4 варианта.
Возьмите остаток от деления рандома на 4
Что скажете?
Скажем, что зафиксирована попытка получить готовый код с нуля и на халяву, ни хрена не сделав самостоятельно. Попытчик отсылается лесом, прямо в платный раздел.
Вот накидал такой код
Накидывают навоз на грядку. Хотя это что-то похожее и есть. Если хочешь представить, что, типа, у тебя тут код есть, ты хоть пины сконфигурируй. А это не код – это отмаза на тему «я тут стараюсь, давайте делайте за меня в сё остальное». Ты бы ещё вот такое выложил
void setup(){}
void loop(){}
И сказал бы: «код, не пашет, помогите допилить».
Писать алгоритмы вручную??
Нет, сидеть ждать пока какой-нибудь добрый дядя за тебя напишет.
void setup(){}
void loop(){}
Этот код как раз пашет на 100% ))
Что скажете?
Скажем, что зафиксирована попытка получить готовый код с нуля и на халяву, ни хрена не сделав самостоятельно. Попытчик отсылается лесом, прямо в платный раздел.
Вот накидал такой код
Накидывают навоз на грядку. Хотя это что-то похожее и есть. Если хочешь представить, что, типа, у тебя тут код есть, ты хоть пины сконфигурируй. А это не код – это отмаза на тему «я тут стараюсь, давайте делайте за меня в сё остальное». Ты бы ещё вот такое выложил
void setup(){}
void loop(){}
И сказал бы: «код, не пашет, помогите допилить».
Писать алгоритмы вручную??
Нет, сидеть ждать пока какой-нибудь добрый дядя за тебя напишет.
Я не прошу мне писать код, я прошу просто посоветовать в каком направлении смотреть.
ты хоть пины сконфигурируй.
так он все сделал кроме конфига пинов..
Нет, сидеть ждать пока какой-нибудь добрый дядя за тебя напишет.
да ладно тебе, нормальный новичЕк, ни чета халявщикам - все ж таки что-то написал, правильно код вставил, не наглеет, вопросы грамотные задает.
Я не прошу мне писать код, я прошу просто посоветовать в каком направлении смотреть.
В направлении декомпозиции задачи. Например:
Проблема: обеспечить относительную неповторяемость ряда, генерируемого функцией random().
Решение: почитать про функцию randomSeed(), применять ее на каждом этапе/раунде/... игры.
Получился сейчас вот такой код. Впринципе почти устраивает. Но как сделать так что бы не открывался более 2 раз один лоток? А то бывает и 4 раза выпадает одно и тоже число(
Но как сделать так что бы не открывался более 2 раз один лоток? А то бывает и 4 раза выпадает одно и тоже число(
на то это и случайная последовательность, что одно и то же число может по пять раз выпадать :) А иначе это уже не вполне случайность будет.
Зря вы в 68 строке map используете. Я ж написал - берите остаток от целочисленного деления на 4 - это и быстрее, и гарантировано только 4 варианта.
Но как сделать так что бы не открывался более 2 раз один лоток? А то бывает и 4 раза выпадает одно и тоже число(
на то это и случайная последовательность, что одно и то же число может по пять раз выпадать :) А иначе это уже не вполне случайность будет.
Зря вы в 68 строке map используете. Я ж написал - берите остаток от целочисленного деления на 4 - это и быстрее, и гарантировано только 4 варианта.
Можете пример привезти? не совсем понимаю как это организовать
добился методом сравнения что бы числа не повторялись, но будет хорошо если подскажите как сделать что бы были двойные повторения. А пока оставлю все как есть. По тихоньку буду дорабатывать. А пока жду актуаторы, и нажну собирать.
Но как сделать так что бы не открывался более 2 раз один лоток? А то бывает и 4 раза выпадает одно и тоже число(
на то это и случайная последовательность, что одно и то же число может по пять раз выпадать :) А иначе это уже не вполне случайность будет.
Зря вы в 68 строке map используете. Я ж написал - берите остаток от целочисленного деления на 4 - это и быстрее, и гарантировано только 4 варианта.
так?
Можете пример привезти? не совсем понимаю как это организовать
ну блин... целочисленное деление
строку 68 заменить на
Можете пример привезти? не совсем понимаю как это организовать
ну блин... целочисленное деление
строку 68 заменить на
лучше уж
int y = x & 0x03;
Зачем random() от random() вызывать - непонятно...
лучше уж
int y = x & 0x03;
Чем лучше?
void setup(){}
void loop(){}
Этот код как раз пашет на 100% ))
Блин, вроде и грамотный человек, надо ж такое ляпнуть. Хотя, конечно, со всеми бывает.
А что не так? Я его даже откомпилировал.
лучше уж
int y = x & 0x03;
Чем лучше?
Согласен. С точки зрения компилятора - ничем не лучше.
А что не так? Я его даже откомпилировал.
Надо было не только компилировать, но и запустить - попробовать. У меня вот ардуина кодовым замком управляет. Загрузил - код набираю, а замку пофигу! Не пашет ни хрена!
Надо же когда-то объяснять новорождённым, что программа не бывает ни правильной, ни неправильной сама по себе, безотносительно решаемой задачи. Если задачу игнорировать, то в принципе любая программа 100% работает, т.к. процессор всегда что-то делает. Ни один еще не начал "делать ничего". Если мы с Вами не будем это постоянно талдычить, кто ж им это объяснит? В егэ такого нет.
А... извините. Не стал ардуину со стенда снимать, эксперимент идет. Но в следующий раз обязательно и залью и графики напряженности сниму.
Попробуйте так, за основу взял Ваш самый первый код, единственное что изменил - ПИНЫ