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

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

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

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

  • На четвёртом уроке мы закончим создание редактора уровней.
    Напишем самую главную функцию для сохранения сделанных изменений в файл.
    Затем добавим кнопки перехода к следующему и предыдущему уровню.
    Останется только немного облагородить интерфейс программы.
  • Дата отправки отчёта: 4 января 2016 г.
  • Задание выполнено: за 1 час. 50 мин.
  • Чему научился: Повторил работу с загрузкой/сохранением данных в файл.
  • Что было сложным: Ошибка при сохранении файла - выход за границы массива, когда обращался к старому массиву строк по индексам нового, расширенного массива. Просто посмотрев код не понял причину, помог отладчик)
  • Комментарии: Я выбрал немного другой способ сохранения игровых уровней в файл, написал код с нуля, использовал второй массив new_lines, который заполнял в трех циклах: первый цикл - это копирование уровней из lines до строки сохраняемого уровня, второй цикл - это копирование содержимого cell, то есть сохраняемого уровня, третий цикл - это копирование оставшихся уровней. По сути то же самое, что по уроку, но мне мой вариант проще понимается, хотя с индексами второго массива немного засиделся.
    Здорово, у меня теперь есть полноценный редактор уровней игры Сокобан!)
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 7276 за Сокобан / Сокобан - Редактор - Сохранение


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




Оцени работу

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

791. --
Валерий Жданов
Валерий Жданов
ответить
→  Ильшат  # Игра Сокобан / Сокобан - Редактор - Сохранение / 2016-01-05 15:21

Белочка на льду живёт,
И орешки всё грызёт!

Спасибо Ильшат за интересную идею и интересный алгоритм сохранения игровых уровней


7276. --
Ильшат
Ильшат
ответить
→  Валерий Жданов  # Игра Сокобан / Сокобан - Редактор - Сохранение / 2016-01-05 16:34

Идея здесь такая, орешки настолько огромные и тяжелые, что Белка может толкать их только перед собой) Алгоритм простой, более понятный, но в нем больше операций и выделение памяти под второй массив. Спасибо)



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





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

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

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

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


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


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