ЭТОТ УРОК НУЖНО ПЕРЕЗАПИСАТЬ. ДЛЯ ЭТОГО МНЕ НУЖЕН ПРОЕКТ ДО ЕГО ВЫПОЛНЕНИЯ. ПОЖАЛУЙСТА ПЕРЕД ВЫПОЛНЕНИЕМ ЭТОГО УРОКА СОЗДАЙТЕ АРХИВ ПРОЕКТА И ПРИШЛИТЕ ЕГО МНЕ.
Мы на финишной прямой нашего рефакторинга. На данном уроке мы вынесем логику игры в отдельный класс Game().
Дата отправки отчёта:
23 апреля 2018 г.
Задание выполнено: за
2 час. 1 мин.
Чему научился:
Создали новый класс Game, чтобы разгрузить Board и перебросить в новый класс игровую логику.
Что было сложным:
Сложность в том, что запись рефакторинга была раньше реализации подключения клиента и обновления сервера. И fen мы уже получаем с сервера. Пришлось временно реализовать перегрузку метода game.Init (string fen). Некорректно, зато работает. Наверно, правильнее назвать game.Refresh (string fen).
Молодец, отличный вариант решения проблемы. Когда решишь реализовать параллельные игровые сессии разных игроков и чтобы каждый мог управлять только своими фигурами в своей игровой сессии, то этот метод как раз пригодится, немного модифицировав его.
Научился: Запутанный урок получился, что то есть, чего то нет. Самое главное как я понял в классе Board
//chess = new Chess(Fen); меняем на
game.Move(Fen);