Найти в Дзене

Заканчиваем стратегию / Крестики-нолики. Пошаговый курс

Продолжаем реализовывать стратегию одновременно изучая javascript. На прошлых уроках мы реализовали первые два шага стратегии. Сейчас перейдем к третьему. Согласно третьем у шагу стратегии мы должны занять самую выгодную позицию. Там есть также дополнительное условие - линия не должна быть занята противником. С этим условием разберемся позже, а сейчас просто займем самую выгодную позицию. Здесь отрабатывается вся наша стратегия. Сейчас наш код выглядит вот так: Как это работает? После нажатия на кнопку играть крестиком сменяется экран и наше приложение ожидает нашего хода. Мы кликаем по ячейке и она заполняется нашей фигурой, но дальше ничего не происходит. Значит, после клика по ячейке мы должны вызвать нашу функцию makeMove: Теперь, если мы перезагрузим страницу и нажмем "Играть ноликом", то все должно получиться, в смысле игра должна работать. Да, теперь игра отвечает на наши ходы! Правда, играть мы пока можем только ноликом. Исправим эту ситуацию. У нас есть переменная myFigure, в

Продолжаем реализовывать стратегию одновременно изучая javascript. На прошлых уроках мы реализовали первые два шага стратегии. Сейчас перейдем к третьему.

Согласно третьем у шагу стратегии мы должны занять самую выгодную позицию. Там есть также дополнительное условие - линия не должна быть занята противником. С этим условием разберемся позже, а сейчас просто займем самую выгодную позицию.

Здесь отрабатывается вся наша стратегия.

Сейчас наш код выглядит вот так:

-2

Как это работает? После нажатия на кнопку играть крестиком сменяется экран и наше приложение ожидает нашего хода. Мы кликаем по ячейке и она заполняется нашей фигурой, но дальше ничего не происходит. Значит, после клика по ячейке мы должны вызвать нашу функцию makeMove:

-3

Теперь, если мы перезагрузим страницу и нажмем "Играть ноликом", то все должно получиться, в смысле игра должна работать.

Да, теперь игра отвечает на наши ходы! Правда, играть мы пока можем только ноликом. Исправим эту ситуацию. У нас есть переменная myFigure, в которой хранится фигура, которой мы играем, нам нужно добавить переменную для хранения фигуры, которой играет компьютер:

-4

Теперь будем сохранять в ней крестик, если у нас нолик и нолик, если у нас крестик:

-5

Поставим эти переменные везде, где они нам нужны:

-6

Отлично! Сохраните и попробуем сыграть.

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

Если остались вопросы - обязательно пишите их в комментариях.

Предыдущий урок | Содержание курса | Следующий урок

Подпишитесь на наш канал, чтобы не пропустить следующие уроки.

Новые уроки, новые курсы будут на моем блоге здесь: keklik.me.