Доброго времени суток! Требуется помощь в реализации змейки, не знаю в каком направлении двигаться. Есть матрица из светодиодов 4х8 нужно чтоб по её периметру зажигались светодиоды. Как бы бегающая змейка по периметру. Надеюсь на помощь!
В лоб: составляете таблицу из "кадров" и по таймеру выводите. Не в лоб: конечный автомат, массив состояния всех светодиодов, задаёте начальное состояние, сдвиг, пока не дойдёт, задаёте следующее состояние, опять сдвиг. На каком языке пишете программы?
Пишу на AVR Си. Немножко не понял про конечный автомат. Вот допустим пошла змейка по первому порту 0х00000111, 0х000001110, 0х00011100 ... 0х11100000 вот она дошла до низу дальше должна по сути повернуть вправо, как видно по таблице требуется задействовать сразу несколько портов а не один. В дальнейшем нужно будет ещё кнопки приделать , одна кнопка ускоряет другая замедляет третья меняет направление.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
абстрагируйтесь от байтов, представьте себе ваш "экранчик", как двумерный массив точек. напишите функцию, которая этот двумерный массив выведет на реальные порты/светодиоды (вот в ней надо будет мозговать с битами и портами). также создайте функцию, которая рисует точку в этом массиве (в ней тоже придется с битами и байтами мудрить, для 32 точек можно и без битов, только байтами обойтись). а потом работайте только с массивом при помощи этой функции: нарисовали в массиве змейку по точкам в массиве - вызвали функцию вывода - проанализировали кнопки - рассчитали новое положение змейки - нарисовали змейку по точкам в массиве... и так все время
автомат тут не первостепенное
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Делаете класс ТОЧКА с координатами X,Y и методом Зажечь/Потушить.
Делаете связный список из объектов класса ТОЧКА.
При добавлении элемента в список вызываете метод Зажечь.
Движение заключается в том, что последний элемент списка переносится из хвоста в голову. При этом сначала вызывается метод потушить, а потом задаются новые координаты и метод Зажечь. Новые координаты при перемещении вычисляются из координат первого элемента списка и нажатой кнопки.
Это сегодня змейка по периметру бегает, а завтра начнутся зигзаги и изменения длины. Лучше изначально сделать "на вырост". Каждый начинающий программист просто обязан написать свой связный список с шашками и стюардессами. Что, уже и постебаться нельзя?
Каждый начинающий программист просто обязан написать свой связный список с шашками и стюардессами.
если взять какой-нибудь AVR или PIC, то со связным списком будут проблемы: там и простой массив не всякий влезает. кстати, змейку я так и не сделал ни разу в своей жизни... тряхнуть, что ли, стариной?
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: Varlakotam и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения