Когда страница загружается, вызывается функция startGame. Эта функция сообщает, кто ходит первым, затем создает игровое поле и отрисовывает его. Когда игрок кликает на игровом поле, происходит вызов функции click. Ставится метка игрока, отрисовывается поле на экране. Затем проверяется выиграл ли игрок. Если выиграл, то его поздравляют. Если нет - ход передается следующему игроку.
В этой функции:
- создается игровое поле. Оно представляет из себя массив массивов. Для обращения к ячейке игрового поля нужно знать строку и колонку этого поля.
- устанавливается активный игрок.
- вызывается функция renderBoard для отрисовки игрового поля.
Функция будет вызываться с двумя параметрами — номером строки и колонки ячейки, на которой произошел клик.
В этой функции:
- обновляется игровое поле, записывается в нужную ячейку символ игрока
- вызывается функция renderBoard для отрисовки игрового поля
- проверяется выигрышная ли сложилась ситуация
- если ситуация выигрышная, происходит вызов функции showWinner и передается в нее номер игрока
- если нужно играть дальше, то передается ход следующему игроку