Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   еще змейка на js (https://javascript.ru/forum/project/40369-eshhe-zmejjka-na-js.html)

JSN 02.08.2013 13:17

еще змейка на js
 
Вложений: 1
я увидел, что кто то делал змейку и решил попробовать свои силы. Поскольку я начинающий, то сомневаюсь, что сделал это наилучшим образом, а точнее алгоритм не рационален и есть один баг, когда одновременно нажимаешь две кнопки змейка слетает.
Выскажите свое мнение, пожалуйста, очень интересно насколько плохо вышло.
Управление WASD.
Заранее благодарю.

рони 02.08.2013 13:59

JSN,
может живой код? тут или Песочнице

JSN 02.08.2013 14:15

http://learn.javascript.ru/play/sBtsW
и забыл сказать, работает только в Chrome, Opera Next(16), Opera 15, ибо про кроссбраузерность я не подумал
Понял в чем была проблема, я поставил запрет на перемещение в обратном направлении, но не учел, что если я сначала нажму одну сторону, а потом обратную, то я могу сменить направление на 180 градусов, но для этого нужно нажать две кнопки меньше, чем за 10 милисекунд. может так?
http://learn.javascript.ru/play/cVLScb

JSN 04.08.2013 15:49

дайте пожалуйста хоть какую-нибудь оценку, ибо учу самостоятельно и совет дать некому, или хотя бы чем еще можно заняться, чтобы продолжить изучать JS, заранее благодарю

cyber 04.08.2013 18:51

JSN,
не хватает простейших кнопок (пауза, повторить) + регулеровка скорости + начинать после нажатия кнопки, а не когда загрузилось + прохождение через границы( с выходом с другой стороны)

cyber 04.08.2013 18:55

cyber,
и лучше змейку на канве сделать.

JSN 04.08.2013 21:50

ну это уже просто, там просто все запихнуть в одну функцию, которая запускается при нажатии чего - нибудь. При нажатии паузы clearInterval(t), а старта - t = setInterval(...). etc.
Я пока канвас не пробовал, это я делал, чтобы закреплять - познавать - изучать функции и особенности я зыка.
Меня интересует алгоритм, насколько он не рационален.

cyber 04.08.2013 22:45

JSN,
не рационально использовать такой подход когда можно использовать svg или canvas.


Часовой пояс GMT +3, время: 22:56.