Ну, смотрите. Модели у вас две игровое поле и алгоритм игры если компьютер будет тоже играть. Как Делать Из Пластилина Деда Мороза. Игровое поле умеет валидировать ходы и проверять выигрыш. Ну и знает, чей ход, наверное, и кто чем играет. Модель оповещает мир об изменениях игрового поля. Представление рисует. Крестики Нолики Javascript Исходный Код' title='Крестики Нолики Javascript Исходный Код' />Крестики Нолики JavafxДля нашего приложения идеально подойдет макет Table. Layout. Присвоим Table. Layout id main. Для этого требуется сгенерировать поле в виде матрицы. Этим будет заниматься класс Game. Сначала нужно создать класс Player, объекты которого будут заполнять ячейки игрового поля и класс Square для самих ячеек. Player. java. package ru. Player. Создадим вложенный класс Listener. Он будет виден только из Tic. Tac. Toe. Activity. Возвращаемся к Game. Game. Первая мысль, которая приходит в голову это написать методы для каждого случая. Думаю, в этом случае хорошо подойдет паттерн Chain of Responsobility. Определим интерфейс. Winner. Checker. Interface. Настало время создать виртуальных лайнсменов, каждый из которых будет проверять свою сторону. Все они реализует интерфейс Winner. Checker. Interface. Winner. Checker. Horizontal. Winner. Checker. Horizontal. После каждого хода они будут проверять. Winner. Checker. Interface. Добавим кода в метод on. Click класса Listener. ClickView view. Картинка для статьи взята из этого проекта.