Skip to content

Latest commit

 

History

History
18 lines (16 loc) · 2.27 KB

spec Tic-tac-toe.md

File metadata and controls

18 lines (16 loc) · 2.27 KB

Ваша задача - реализовать крестики-нолики на Javascript.

Итоговый код должен обладать следующей функциональностью:

Реализовать игру в крестики нолики со следующими правилами:

  • модифицировать файлы кроме index.js в проекте запрещено
  • первым ходит всегда крестик
  • ход крестика отображается добавлением к ячейке cell класса ch, нолика - класса r
  • По нажатию на кнопку "Undo" отменяется предыдущий ход, после этого его можно восстановить нажатием кнопки "Redo". "Глубина" отмены - бесконечна
  • Кнопка "Undo" недоступна (disabled), если сейчас нечего отменять
  • Кнопка "Redo" недоступна (disabled), если сейчас нечего возвращать
  • В случае завершения игры происходит следующее:
    • элемент ".won-title" теряет класс "hidden"
    • в поле ".won-message" отображается сообщение Crosses won! в случае победы крестика, Toes won! в случае победы нолика, It's a draw! в случае ничьи
    • Нажатие на кнопку "Restart game" стартует новую игру без перезагрузки страницы
    • "Выигрышные" ячейки получают класс win и, в зависимости от направления - класс vertical, horizontal, diagonal-right или diagonal-left
  • Незавершённая игра переживает перезагрузку страницы
  • Состояние игры синхронизируется между всеми вкладками браузера - это означает, что выполнив ход на одной вкладке, я должен иметь возможность увидеть его на другой вкладке. Это же относится и к старту новой игры.