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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

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


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




Оцени работу

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

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

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


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

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

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


  • Отчёт оценивали:
    7645Александр Львович+1   459Сергей Сергеевич+1   4992Николай+1   6925Артём+1   6203Николай (nick27m)+1   6484Вячеслав+1   8275Tekashnik+1   3747Сергей+1   689Igorenzia+1   2639Морозов Юрий Александрович+1   6458Илья+1   1Евгений Витольдович+1   4699Сергей Витальевич+1   6509Степан Фендьо+1   5649Максим Лапшинов+1   3664данила+1   4004Елена+1   4435Мурад+1   791Валерий+1   8407Наталья+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Смещать записи внутри файла
Трудности: вроде ничего
Сделала запрос на сохранение уровня при переходе на преыдущий/следующий. Правда, не знаю пока, хорошо это или плохо. Как и обещала, добавила картинки на кнопки :).
Научился: Сериализовать символьный массив в текстовый файл. Логика масштабирования поля. Переход между уровнями.
Трудности: Достаточно сложный урок. Было много сложных алгоритмов. Долго отлаживал, прежде чем заработало.
Спасибо за урок. Все хорошо!