На четвёртом уроке мы закончим создание редактора уровней. Напишем самую главную функцию для сохранения сделанных изменений в файл. Затем добавим кнопки перехода к следующему и предыдущему уровню. Останется только немного облагородить интерфейс программы.
Дата отправки отчёта:
10 августа 2015 г.
Задание выполнено: за
3 час. 00 мин.
Чему научился:
Работа с файлами, вынесение всех используемых переменных в общий доступ, а не нужных - оставлять внутри процедуры. Разбивать программу на много мелких процедур, чтобы впоследствии использовать только эти кусочки для уже другого результата, чем использовались в начале. Отработал навык пользования Отладчиком.
Что было сложным:
Работа с отладчиком, держать в голове какая процедура за какой идет и что выполняет, поэтому пришлось писать много комментариев в программе.
Комментарии:
Я думаю что при переходе между уровнями нельзя их сохранять, а вдруг я передумал и хочу вернуть как было?! а при сохранении добавить проверку что на карте есть юзер и есть одна коробка, это как бы минимальное требование к уровню. У вас ещё процедуры называются одинаково (SaveLevel) в классе LevelFile и в SokobanEditor. Мне кажется что может быть путаница.
Кирилл, лично у меня путанице не возникало! А вот как же не сохранять уровни, нарисовал уровень сохранил, если хочешь переделать изменяешь и опять сохранить, или еще заново делаешь, не совсем тебя поняла!
Про уровни в Сокобоне. Открыл уровень в редакторе, случайно что-то изменил, решил не сохранять(не нажимал на кнопку Сохранить) и перешел к другому уровню. И что, получается что твои некорректные изменения были сохранены. Если ты создал/изменил уровень умышленно и доволен им, то специально нажимай кнопку Сохранить и он сохранится, а не тогда, когда листаешь уровни.
Кирилл, да, поняла, я посмотрела, действительно уровни автоматически сохраняются даже без нажатия сохранения, я не обратила внимание на это! Можешь оставить пока так, а уже когда будет все написано и реализовано сделаешь рефакторинг, хорошая будет тренировка! :)
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Реализации сохранения ;) Good. ;) + Я доделал библиотеку RecourceLoader - теперь она работает, как нужно ;) / + Переделал адаптивность на разрешение - теперь лучше стали 'адаптироваться' размеры PicterBox'ов к разрешению ;) / + Тестил изменения размеров уровня - нашёл баг(У всевышнего он тоже есть), если изменить размер уровня на более большие то выдаст ислючение(IndexOF) - Исправил это добавив в тот самый цикл(переделки массива string на более большой) - написав в условие цикла - (Curr + Delta), вместо Curr ;) / При больших значениях(значит дельта больше) - выходило за рамки массива ;)