4. Классы
Теоретические сведения
Задание
- Создайте класс
Controller:class Controller( var state: State = State() ) { val view = View(this) var checkedCell: Int? = null } - Обновите классы
GameиViewтак, чтобы они работали с классомController. - Изменив класс
Viewустановите фон элементов типаJButtonтак, чтобы игровое поле выглядело как шахматная доска. В случае, если в объекте классаControllerполеcheckedCellне нулевое, установите фон соответствующей кнопки в какой-либо цвет. - Добавьте функцию
fun onClick(index: Int)к классу
Controller. Если полеcheckedCellнулевое, то эта функция записывает в него значениеindex. Иначе, она проверяет возможность выполнить ход с поля с номеромcheckedCellна поле с номеромindex. Если ход допускается по правилам игры, то в контроллере создается новое состояниеState, которое получается после выполнения этого хода.