Допиливаем и дорабатываем редактор до товарного вида. Реализуем ещё несколько фишек.
Дата отправки отчёта:
3 января 2016 г.
Задание выполнено: за
2 час. 00 мин.
Чему научился:
новым событиям мышки. и улучшил навыки при работе с массивами
Что было сложным:
Прокопался я конкретно с "улчшением" этим так называемым. Все хотел добавить, чтобы можно было зажать правую кнопку мышки , вести по полю и объекты рисуются. Долго проискал так и не смог. Сделал , что по двойному щелчку такой режим активным становится и двойным щелчком он же выключается. Рисуется гораздо быстрее , конечно.
Очень долго провозился с кнопкой" полного удаления уровня". Нюансы появлялись как грибы после дождя. Нужно было переписать все "шапки" с понижением в них значения уровня на 1. Нужно было отслеживать что мы удаляем, уже записанный в файл уровень или еще нет и тд.
Комментарии:
Не думал не гадал я что на редактор столько времени уйдет :) Мне если честно первые три уровня оригинального сокобана совсем не составило труда "набить" в блокноте. Но зато на составлении этого самого редактора много пошевелил извилинами, что не может не радовать.
Архив проекта:Ссылка доступна после самостоятельного выполнения этого урока
Научился: создавать контролы кодом и назначать им свойства добавил небольшую функцию, отображающую номер текущего уровня в комбобоксе с возможностью перехода сразу к конкретному уровню
Научился: Дeлать измeнение рaзмеpов лaбиpинта чeрез текстовое поле.
Дeлать пpямоугольнoе зaполнeниe лабиpинта выбранным объектом.
Дeлать cчётчик ящиков и паркoвочныx меcт для ниx.
Дeлать Тултипы для контролов
Трудности: Возникли вопросы:
при использовании текстового поля со свойством BorderStyle = Fixed3D,
я надеялся увидеть "объёмный вариант", а на самом деле оно выглядит как Label.
Хотелось бы подробнее узнать как программно перехватывать ошибки с помощью try - catch.
Возникли вопросы:
при использовании текстового поля со свойством BorderStyle = Fixed3D,
я надеялся увидеть "объёмный вариант", а на самом деле оно выглядит как Label.
Хотелось бы подробнее узнать как программно перехватывать ошибки с помощью try - catch.
Замечаний, практически, нет.
Особенно понравилась реализация пpямоугольнoго зaполнeния лабиpинта выбранным объектом.
Хочу предложить более простой способ использования функции Split(x)
с разделителем, отличным от пробела:
char dl = 'x';
string[] wh = toolStripTextBoxLabirintSize.Text.Split(dl);