Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Сокобан / Сокобан - Редактор - Сохранение

  • На четвёртом уроке мы закончим создание редактора уровней.
    Напишем самую главную функцию для сохранения сделанных изменений в файл.
    Затем добавим кнопки перехода к следующему и предыдущему уровню.
    Останется только немного облагородить интерфейс программы.
  • Дата отправки отчёта: 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.
    Спасибо за интересный урок!
  • Что было сложным: Ничто.
  • Оценка видео-уроку:
Отчёт от 18953 за Сокобан / Сокобан - Редактор - Сохранение


Отчёт от 18953 за Сокобан / Сокобан - Редактор - Сохранение




Оцени работу

 
Сохранить страницу:

25017. --
Денис
Денис
ответить
→  Дмитрий  # Сокобан / Сокобан - Редактор - Сохранение / 2020-03-29 10:11

Хорошая работа! Дмитрий я новичок в программировании, просмотрел уже несколько твоих отчетов по реализации этой игры, вроде не видел, что бы ты записывал видео отчет в конце =) у меня к тебе просьба сделай видео отчет расскажи про нюансы. Тоже хочу реализовать эту игру будет интересно тебя послушать. Спасибо!


  • Отчёт оценивали:
    24112Нияз Хайбуллин+1   6203Николай Миролюбов+1   791Валерий Жданов+1   24765Anatoli+1   23687Игорь Бойко+1   24974Вячеслав0   17947Dmitry Sinitsin+1   162Андрей+1   2146Иван+1   25017Денис+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Реализации сохранения ;)
Good. ;) + Я доделал библиотеку RecourceLoader - теперь она работает, как нужно ;) / + Переделал адаптивность на разрешение - теперь лучше стали 'адаптироваться' размеры PicterBox'ов к разрешению ;) / + Тестил изменения размеров уровня - нашёл баг(У всевышнего он тоже есть), если изменить размер уровня на более большие то выдаст ислючение(IndexOF) - Исправил это добавив в тот самый цикл(переделки массива string на более большой) - написав в условие цикла - (Curr + Delta), вместо Curr ;) / При больших значениях(значит дельта больше) - выходило за рамки массива ;)


Научился: Перепроверять код десятки рад подряд.
Трудности: найти свои ошибки
Огромное спасибо Ильшату. Он очень помог, нашел ошибки и пофиксил их.