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

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

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

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

  • На четвёртом уроке мы закончим создание редактора уровней.
    Напишем самую главную функцию для сохранения сделанных изменений в файл.
    Затем добавим кнопки перехода к следующему и предыдущему уровню.
    Останется только немного облагородить интерфейс программы.
  • Дата отправки отчёта: 7 декабря 2016 г.
  • Задание выполнено: за 4 час. 13 мин.
  • Чему научился: Изменять и сохранять  уровни
  • Что было сложным: Самое трудное было понять (может быть в будущем это прояснится)
    зачем все уровни мы записываем в один файл? Хотя с точки зрения приобретения навыков
    программирования сложных алгоритмов это оправдано.
  • Комментарии: Не проще ли каждому уровню выделить отдельный файл с именем LevelNNN.txt?
    где NNN = 001 для первого, 002 для -2го т.д. Тогда многое при кодировании упростится.
  • Оценка видео-уроку:
Отчёт от 11589 за Сокобан / Сокобан - Редактор - Сохранение




Оцени работу

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

10558. --
Иван Воронин
Иван Воронин
ответить
→  Yefim  # Игра Сокобан / Сокобан - Редактор - Сохранение / 2016-12-07 21:02

Упростится да, но суть в том, что проще можно и самим реализовать, поэтому более сложную систему показали, я даже больше скажу, они в файле не обязательно могут идти подрят, можно вручную в блокноте поменять номера в уровнях, не перемешивая их местами.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Yefim  # Игра Сокобан / Сокобан - Редактор - Сохранение / 2016-12-07 21:06

И ещё, хранить все уровни в 1 файле это экономнее в плане использования дискового пространства. Стандартный кластер 4кб, ранее сектора были по 512 байт для хранения информации пользователя, а теперь физический кластер 4кб тоже, поэтому каждый уровень в отдельном файле это не экономично, уровни будут весить меньше, а значит много места будет теряться. Можно пройти курс "Архиваторы" и реализовывать каждый уровень в отдельном файле но при этом в одном архиве, как обычно и делают все разработчики, чтобы ещё оптимальнее расходовать дисковое пространство.


11589. --
Yefim
Yefim
ответить
# Игра Сокобан / Сокобан - Редактор - Сохранение / 2016-12-07 22:38

Спасибо, Иван. Теперь все стало ясно.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Yefim  # Игра Сокобан / Сокобан - Редактор - Сохранение / 2016-12-08 13:28

Молодец, Ефим, отличный отчет, вижу, у вас хорошо всё получается.



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





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

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

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

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


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


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