На четвёртом уроке мы закончим создание редактора уровней. Напишем самую главную функцию для сохранения сделанных изменений в файл. Затем добавим кнопки перехода к следующему и предыдущему уровню. Останется только немного облагородить интерфейс программы.
Дата отправки отчёта:
16 марта 2020 г.
Задание выполнено: за
11 час. 58 мин.
Чему научился:
Создавать функционал для сохранения уровня. Не нравится код редактора. Чем дальше, тем всё неудобнее его писать. Может быть, удобнее создать отдельный обобщённый класс для работы с массивом. В нём - индексатор, в котором контролировался бы выход за границы массива, метод изменения размера массива и т. д.?! Немного изменил код (см. первый скриншот, panel.Controls.Clear() в начале метода InitPictures). В коде была ошибка: for (int p = newLength - 1; p > curr; p--) в методе SaveLevel класса LevelFile. Надо так: int len = curr + deltaRow; for (int p = newLength - 1; p > len; p--). Иначе, при записи первого уровня с 2 и более новыми строками возникнет ошибка выхода за границу массива lines. Спасибо за интересный урок!
Хорошая работа! Дмитрий я новичок в программировании, просмотрел уже несколько твоих отчетов по реализации этой игры, вроде не видел, что бы ты записывал видео отчет в конце =) у меня к тебе просьба сделай видео отчет расскажи про нюансы. Тоже хочу реализовать эту игру будет интересно тебя послушать. Спасибо!
Отчёт оценивали: 24112. Нияз Хайбуллин+16203. Николай Миролюбов+1791. Валерий Жданов+124765. Anatoli+123687. Игорь Бойко+124974. Вячеслав017947. Dmitry Sinitsin+1162. Андрей+12146. Иван+125017. Денис+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Реализации сохранения ;) Good. ;) + Я доделал библиотеку RecourceLoader - теперь она работает, как нужно ;) / + Переделал адаптивность на разрешение - теперь лучше стали 'адаптироваться' размеры PicterBox'ов к разрешению ;) / + Тестил изменения размеров уровня - нашёл баг(У всевышнего он тоже есть), если изменить размер уровня на более большие то выдаст ислючение(IndexOF) - Исправил это добавив в тот самый цикл(переделки массива string на более большой) - написав в условие цикла - (Curr + Delta), вместо Curr ;) / При больших значениях(значит дельта больше) - выходило за рамки массива ;)