Задание для самостоятельной работы на тему «Обработка событий в С#» Разработайте консольное приложение, иллюстрирующее обмен сообщениями между двумя классами. Имеется игровое поле в виде шахматной доски размером NxN. В одной из клеток игрового поля находится кошка. Кошка имеет имя, координаты и вес. Событие заключается в попытке перемещения кошки (случайным образом) на одну из соседних клеток. На каждое перемещение тратится часть веса кошки. В некоторых клетках имеются приятные или неприятные сюрпризы для кошки. Приятным сюрпризом является рыба, съев которую, кошка увеличивается в весе на определенную величину. Неприятным сюрпризом является край игрового поля, запрещающий кошке двигаться в этом направлении. Порядок выполнения. Создайте класс «Игровое поле», содержащий информацию о размерах поля. Этот класс может совпадать с главным классом приложения, т.е., содержать функцию Main. Создайте класс «Кошка». Объект класса должен содержать имя, координаты и вес кошки, конструктор с параметрами, а также методы «Распечатать состояние» и «Переместиться» (этот метод пока оставьте пустым). Промежуточный результат. Создайте объект «Кошка» в методе Main. Распечатайте состояние кошки. Теперь следует создать обработчик событий: - в классе «Кошка» создайте делегат и создайте событие (назовем его «Перемещение»); - в классе «Игровое поле» создайте функцию для обработки события. Эта функция получает в качестве параметров координаты клетки, на которую кошка собирается переместиться, и возвращает информацию о клетке (например: 0 – обычная пустая клетка, -1 – стенка, край поля, 2 – рыба.). - свяжите функцию для обработки события с событием. Теперь обработчик событий следует откуда-нибудь вызвать. Для этого можно использовать метод «Переместиться». В этом методе сгенерируйте случайным образом направление движения и вызовите событие «Перемещение», передав ему новые координаты. Событие возвращает код состояния, в зависимости от кода выполните действия с объектом «Кошка»: если код=0 – переместите кошку в эту клетку, уменьшив ее вес, если код=2 – пусть кошка съест рыбу, если код=1, то тоже как-то отреагируйте. Можно также выдать эту информацию на печать. Для тестирования приложения в методе Main создайте цикл из нескольких итераций (например, 100), в котором кошка пытается переместиться и распечатывает свое состояние. _______________________________________________________________________ Примечание: Для генерации случайного числа можно использовать класс Random. Его метод int Next (int maxValue) возвращает случайное число в диапазоне от 0 до maxValue-1.