Шашки — игра, которую все прекрасно знают. Эта замечательная игра знакома всем из самого раннего детства. Будучи еще маленьким ребенком, каждый из нас, пробовал свои силы в данной игре. В детстве, по дороге домой со школы, мы с друзьями часто заходили в игровую комнату, чтобы поиграть в разные настольные игры. Одной из них была именно шашки. Хочу отметить что уважение к шашкам и шахматам, как к действительно достойным играм, у меня с раннего детства ! Сейчас я даже не вспомню, в какой момент научился в них играть. Порой мне кажется, что я уже родился с этими навыками.
Исправления в коде
Написание программы «Шашки» на JavaScript, которую вы можете найти на нашем GitHub, потребовало времени и стараний более чем обычно. Изначально код игры был написан не совсем правильно, и скрипт работал криво. Осознав что, путь в разработке игры, который я выбрал — неверный, я переписал игру заново. В новой версии, я избавился от множественных циклов в функциях сравнений и излишних взаимодействий с элементами DOM. Теперь все вычисления и сравнения происходят с объектами и массивами. Это позволило, более точно организовать всю логику и обработку данных. Также максимально упрощены все функции. Теперь код имеет упрощенный вид, легко читается и доступен к пониманию для начинающих программистов JavaScript.
Проверки: «правильность хода» и «бить обязательно»
В данной версии шашек, полностью реализованы все проверки на «правильность хода» и «бить обязательно», а также учтены и другие неочевидные моменты. Самую большую проверку пришлось писать для дамки, так как возможных вариантов хода для дамки — намного больше, чем для простой шашки.
ИИ в «Шашки» на JavaScript
Скажу сразу, что искусственный интеллект в данной игре не реализован. «Компьютер» ходит по очень упрощенной схеме, поэтому выиграть у «компьютера» может даже ребенок. Изначально целью написания данной программы была реализация полного функционала «на двоих». Игра с «компьютером», в данном исполнении, имеет характер — «есть потому, что должно быть». Скрипт оставляет возможность написания и внедрения функционала ИИ, но я не стал этим заниматься, по причине того, что это совсем другая и объемлющая тема, требующая много временных затрат. Создать и проработать хороший алгоритм, по которому «компьютер» будет разумно играть — это целое дело ! Можно даже сказать — отдельная наука ! Этим мы займемся в будущем !
Ссылки на игру «Шашки»
Исходники игры вы найдете на странице https://github.com/Webpolka/checkers-sass
Чтобы играть в «Шашки» на JavaScript перейдите по следующей ссылке