Как стать автором
Обновить

Комментарии 16

В целом отлично, только поле мелковато, что ли (во всяком случае, мне захотелось увеличить масштаб, что я и сделал). В Опере после изменения масштаба страницы клавишами Ctrl и + клавиши «вверх/вниз/влево/вправо» помимо управления змейкой стали в соответсвующую сторону сдвигать экран. Впрочем, не жалуюсь, сия неожиданная «фича» добавила новый драйв в старую игру :)
Почему-то вспомнилась гифка с изображением разработчика, который прочитал первый положительный отзыв на плэймаркет.
Боюсь, что не все с ней знакомы. :)
image
Жаль, на планшета не поиграешь (
Быстрый разворот на 180 градусов заканчивает игру (типа, голова сама в себя упёрлась) — баг или фича?
Похоже баг.
Заметил пару багов. При ширине окна меньше контейнера (950px) при горизонтальном повороте происходит сдвиг документа в Хроме и скролл по горизонтали в Firefox (походу не захватываются keypress евенты браузера). Медленный отклик из-за чего трудно играть. И да поддержку автора постом выше, при быстром развороте кролик съедает свою голову игра заканчивается. В любом случае спасибо за пост, отложу в коллекцию, давно хотел заняться изучением canvas'a.
Еще хотел добавить, что когда мне приходится пользоваться такой вещью как направление движение чего-то в двухмерной системе координат, я чаще всего пользуюсь такой конструкцией:

function getDirection(e){ //здесь е - mouse event
      return {
            x : e.keyCode % 2 ? e.keyCode - 38 : 0, 
            y : !(e.keyCode % 2) ? e.keyCode - 39 : 0 
      } 
}

На выхлопе получаю объект вида {x:1,y:0}, что означает, положительный сдвиг по оси абсцисс и нулевой сдвиг по оси ординат. Очевидно, что область значений x,y — это {-1,0,1}. Так потом удобнее вычислять и репозиционировать объекты, которые двигаются.
Код написан с применением библиотеки jQuery, ибо так удобнее.
canvas = $('#mycanvas').get(0);
$(document).ready(...)

Тут только 2 вопроса… зачем? и почему?
Поправьте, если где-то еще упустил использование jQ…
Дело в том, что код я переписывал с нуля несколько раз. И чем дальше, тем актуальность использования jQ ставала всё меньше, но так уж вышло, что пост я опубликовал именно в таком варианте. И вносить правки сейчас, уже не очень хорошая затея. Пусть так и останется
бета-версия игры

В конце-концов это же мой первый блин, ну не может он выйти идеально )
Можно я просто оставлю это здесь: js1k.com/2011-dysentery/demo/927. Есть 3 жизни и бесконечное кол-во уровней. Весь код занимает 1017 байт
Мне нравится, придётся как-нибудь выкроить время, да разобраться в коде.
Есть 3 жизни и бесконечное кол-во уровней.

Прочитал и подумал что у меня всё–таки одна жизнь, а вот уровней и правда бесконечность… как и игр. И что как–то неправильно её расходовать на прохождение этих бесконечных уровней.
Потом открыл ссылку. Понял, что не про ту жизнь подумал…

Кстати, сравнивать в байтах код автора поста и код по той ссылке не совсем корректно – там код минифицирован.
Спасибо, повеселили.
Само собой код сравнивать некорректно. Тот код готовился специально для конкурса js1k и там одно из условий уложится в 1кб :) Поэтому пришлось отказаться от многих фич :)

Если получится найти оригинальный код — выложу ссылку обязательно :)
Исходники: github.com/s-goryakin/snaky
Это не последние исходники, т.к. последние штрики добавлялись уже после минификации кода. По всем вопросам готов ответить в коментах :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации