Comments 24
а нельзя ее научить поворачивать если в следующей клетке препятствие?
Мсье знает толк в извращениях!
Как только открыл пост, сразу вспомнились школьные года и RoboLab от Lego RCX.
Думаю надо перенести в «Ненормальное програмирование», ибо действительно ненормальное…
Да особо «ненормального» в общем-то нет ничего. Ненормальное программирование — это Brainfuck или змейка на bash. А LabVIEW — это немного непривычно по сравнению с традиционными текстовыми языками — это да. На самом деле там самые обычные конструкции for, while, if then и т.д. Я вот всё надеюсь, что когда-нибудь на хабре появится отдельный блог по LabVIEW.
Вспоминаю, как я, ярый фанат CLI, ненавидел LabView на третьем курсе универа. Автор — молодец. Добавьте еще управление через джойстик, это не должно составить для вас труда. LabView всё-таки. И звуковые эффекты.
>>Таким образом время жизни клетки и определяет длину змейки.
Интересный подход, мне такое не приходило в голову.
Интересный подход, мне такое не приходило в голову.
Подход к «отсеченному» хвосту (оставляем умирать) мне представляется неверным. Рассмотрите вариант — голова врезается в середину тела и начинает двигаться в сторону старого хвоста.
При каждом таком шаге длина змейки будет уменьшаться на несколько единиц, а должна сохраняться.
Причем кончик нового хвоста (как производный от длины) будет прыгать сразу на несколько ячеек.
Если Вы его подсветите, то будет выглядеть так, как-будто змейка «испражняется» своим телом.
При каждом таком шаге длина змейки будет уменьшаться на несколько единиц, а должна сохраняться.
Причем кончик нового хвоста (как производный от длины) будет прыгать сразу на несколько ячеек.
Если Вы его подсветите, то будет выглядеть так, как-будто змейка «испражняется» своим телом.
Отлично! Помню программировал на Labview, после перла и С этот чудесный графический язык перевернул сознание) Некоторые вещи на нем можно сделать за день, когда как на CLI языках на это потребовалось бы недели. Очень хорошая среда для RAD.
Вообще если вынести Event Structure из основного цикла в отдельный параллельный, будет более по LabVIEW-шному.
Задумался на счет того, что какое максимальная длина змейк. Например в квадрате 32х32
Спасибо за идею, решил рассмотреть такую задачку на своеобразном мастер классе))
Есть ещё один вроде не упомянутый в дискуссии баг, при употреблении «еды» длинна змейки возрастает только через число ходов равное её текущей длине, к тому моменту, как новое значение «головы» попадает в последнюю ячейку хвоста. Чтобы избежать этого, можно в кейсе, где увеличивается значение длинны при условии совпадения координат «головы» и «еды» делать инкремент всех ненулевых ячеек. Тогда длинна возрастёт на итерации следующей за поеданием.
Хотя непосредственно в процессе игры этот лаг всё равно не очень заметен.
Есть ещё один вроде не упомянутый в дискуссии баг, при употреблении «еды» длинна змейки возрастает только через число ходов равное её текущей длине, к тому моменту, как новое значение «головы» попадает в последнюю ячейку хвоста. Чтобы избежать этого, можно в кейсе, где увеличивается значение длинны при условии совпадения координат «головы» и «еды» делать инкремент всех ненулевых ячеек. Тогда длинна возрастёт на итерации следующей за поеданием.
Хотя непосредственно в процессе игры этот лаг всё равно не очень заметен.
Sign up to leave a comment.
Как я делал змейку на LabVIEW