Радионов Павел

+15
с 2019
0 подписчиков
24 подписки

Здесь весь ИИ заключается в том, чтобы оставлять противнику: 1, 5, 9, 13 и т.д. палочек после хода

7

Здорово, что разобрался с нативным canvas, это полезно для понимания, как работает графика в браузере :)

Попробуй использовать библиотеки для работы с canvas (например, createJS, pixijs). Это позволит существенно сократить код и придать ему гораздо больше структуры, чем сейчас. В них, зачастую, из коробки идёт работа с загрузкой ассетов. Кроме этого — библиотеки для работы со звуком и анимациями. Опять же, поможет не велосипедить и не встретиться с типичными ошибками (как, например, работа анимациями через timeout).

Выше советовали "чистый код" применительно к JS. Можешь и самого Роберта Мартина "Чистый код" почитать, там много объяснений, почему именно хороши те или иные принципы.

Код сейчас действительно плохо структурирован, плохо читаем. Удели внимание названию переменных, не используй "магические числа" в коде, выноси в константы. Это снижает и читаемость кода (возможно, через пару недель ты уже сам не вспомнишь, что означает 1*8*1.5) и делает его очень негибким, плохо расширяемым.

В плане графики, там есть невероятно конские по размеру картинки, которые можно порезать на мелкие и затайлить.

И да, у тебя готова игра! Поздравляю :)

Удачи! :)

7

Карочи) Нравится читать про игры, играть в них и изучать — читай, играй и изучай. В геймдеве, как и на любой другой работе нужно впахивать. Рад был помочь. С любовью из геймдева.