Pull to refresh

Comments 13

Если честно, не понял: при чем тут Android.
А вот по исходному примеру:
Использование «хвоста» и «головы» по отдельности.

Возможно, это как раз и использовалось для того, чтобы не перерисовывать всю змею целиком, а только самый конец и голову?
Названия для направлений («up», «down», ...) вместо векторов ( (0, 1), (1, 0)… ).

Для меня лично понятнее направление вверх, вправо, влево, вниз, нежели непонятные координаты. (-1,0) — это влево или вниз, или вверх?
И я, если честно, не увидел каких-либо преимуществ от использования python вместо Android Studio/Java. Местами даже компактнее получилось бы и не пришлось бы GUI с нуля рисовать (или его тут и нету?).

Собственно, о том и речь, что я ничего не перерисовывал руками. Тут в принципе нет метода on_draw.
"Перерисовывать всю змею" это лишь двигать блоки. И то, я каждый шаг делаю количество операций, равное длине змеи. Шаг — 0.2 секунды, то есть при длине 10, я изменю пару чисел 50 раз в секунду, согласитесь, это несерьезная нагрузка. Автор прошлой статьи быть может перемещал только одну клетку, но для этого ему надо было найти ту самую клетку, и знать, куда ее переместить.


По поводу векторов — окей, именно понятней будут конечно слова. А номера клеток можно именовать "первая", "вторая" и так далее. Но мы нумеруем их чтобы работало для общего случая. То же самое с векторами, к примеру, мы можем изменить вектор на (0.5, 0.5), а вот название направления на "right-but-a-little-down" просто так поменять не получится.


Ну а насчет преимуществ — это просто более простой язык программирования для простой игры. Я бы не стал писать что-то сложное на kivy, я согласен.

И то, я каждый шаг делаю количество операций, равное длине змеи. Шаг — 0.2 секунды, то есть при длине 10, я изменю пару чисел 50 раз в секунду, согласитесь, это несерьезная нагрузка.

А саму змею при этом, конечно же, вообще никак рисовать не надо
Перемещал только одну клетку, но для этого ему надо было найти ту самую клетку

Я бы записывал ячейки головы и конца змеи в соответствующие переменные и ничего не пришлось бы искать.
А номера клеток можно именовать «первая», «вторая» и так далее.

Про такое я не говорил. То что ячейки действительно лучше нумеровать в виде координатной сетки — это понятно и так. Я про то, что наименовать движение вверх как «up» — вполне логичное действие, по моему мнению.
Я бы не стал писать что-то сложное на kivy, я согласен.

То есть фреймворк подходит только для написания простых вещей? Тогда не ясна мотивация его использования.

Я в самом начале написал, что я буду писать только простые вещи. Мотивация — писать простые вещи. То есть я не буду писать на нем сложные вещи. Вроде просто же объяснил. Просто не понимаю, зачем мне нанимать архитектора и закупать бетон и кирпичи для постройки однодневного шалаша. В этом мотивация.


Змея вне зависимости от меня рисуется [your_device_fps] раз в секунду и не мной.


Про координатную сетку не понял. Вы имеете ввиду хранить все поле в сетке и каждую перерисовку вручную рисовать черный или белый квадрат по каждой из 50х50 ячеек поля? Ну опять же, если я вас немного не так понял — ок, ваше решение — ваше решение. Думаю, часть людей согласится со мной, часть — с вами.

Я бы не стал писать что-то сложное на kivy, я согласен

Просто нужно, чтобы руки росли из того места:
https://www.youtube.com/watch?v=uDmUNSK52LI&t=
https://www.youtube.com/watch?v=7gTXreji0QY&t=
https://vimeo.com/297768834
https://vimeo.com/297757037
https://vimeo.com/238618045
https://vimeo.com/206290310
https://vimeo.com/170447721


А за такие статьи я бы расстреливал без суда и следствия!

Да куда уж тебе понять с такими-то бестолковыми выводами о Kivy!

Серьезно? Ты об этом? Отчего ж тогда ни в одном твоем видео нету ни сложных мультиплеерных 3d-игр, ни видеоредакторов? Программа-карточки понятное дело делается легко на любом фреймворке. Понятное дело, что можно добавить красивую текстуру — и вуаля! Ваш кликер превратился в "тяжелое приложение"! Я не говорил, что функционал Kivy ограничен змеей. Но однако ни поддержки новых фич вовремя, ни быстрой работы на реально сложных штуках я не получу. А если вдруг Kivy закроют, я останусь с… с ничем, потому что переписать python на java это не две минуты.

Отчего ж тогда ни в одном твоем видео нету ни сложных мультиплеерных 3d-игр, ни видеоредакторов?

У меня не было необходимости писать подобные приложения.


Ваш кликер превратился в "тяжелое приложение"!

О чем ты?


Но однако ни поддержки новых фич вовремя, ни быстрой работы на реально сложных штуках я не получу

Руки из задницы, порою, полезно доставать.


А если вдруг Kivy закроют, я останусь с… с ничем

А если вдруг завтра война?


Понятное дело, что можно добавить красивую текстуру — и вуаля!

Видимо, ссылки, которые я дал — просто красивая текстура… Что ты употребляешь?

Руки из задницы, порою, полезно доставать.
Ну я посмотрю, как ты будешь лапками писать DK для какой-нибудь новой фичи для Kivy на один месяц, потому что тебе нужно срочно выпустить релиз для твоих приложений, а Kivy не успело доставить поддержку.

Остальные пункты обсуждать смысла нет. Сколько проектов позакрывалось, и так как питон в принципе совершенно не связан с Java, Kivy=костыль. Можешь конечно не согласиться… Но это абсолютно твое мнение.

Но это абсолютно твое мнение.

Это твоё юношеское, прыщавое и абсолютно глупое мнение. Диалог закрыт!

почему никто никогда из подражателей змейки не учитывает вариант «диагонального» управления? те которые были на 3310 кнопками 1, 3, 7, 9?

Можно сделать даже во все стороны, т. е. куда мы кликнули на экран — туда она и ползет. Причем это несложно делается, надо лишь поправить векторы передвижения, что-то типа (sin(a), cos(a)) (вместо четырех заданных) и рассчитать угол. Надеюсь, желающему сделать это будет просто, а если что, могу помочь.

Sign up to leave a comment.

Articles