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

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

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

Сокобан / Сокобан - Решалка - Оптимизация

  • На этом коротком уроке мы рассмотрим два способа оптимизации нашей программы, в результате которых работать она станет просто молниеносно!!!
  • Дата отправки отчёта: 19 декабря 2016 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Повторил пройденное
  • Что было сложным: найти время
  • Комментарии: Изначально я переписал уровень 32х32 с видео, повторил его символ в символ, чтобы проверить скорость на нём, но это было так долго, что я просто не дождался и взял один из своих уровней, модифицировал его и оставил только 1 ящик и 1 место куда его поставить надо, результаты на скриншоте и они внушительны (4 метода, Dictionary по скорости почти как HashSet).
  • Оценка видео-уроку:
Отчёт от 10558 за Сокобан / Сокобан - Решалка - Оптимизация




Оцени работу

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

791. --
Валерий Жданов
Валерий Жданов
ответить
→  Иван Воронин  # Игра Сокобан / Сокобан - Решалка - Оптимизация / 2016-12-19 18:42

да уж, результат впечатляет


10558. --
Иван Воронин
Иван Воронин
ответить
→  Валерий Жданов  # Игра Сокобан / Сокобан - Решалка - Оптимизация / 2016-12-19 20:30

Забыл написать, что при попытке дождаться 32х32 карту, там было 618к+ итераций, на этом уровне всего 21к+.



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





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

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

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

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


Научился: Теперь мне думается, что коллекции не так эффективны ..... как хотелось бы. Хитрый получился массив :) Классно придумано :)
Трудности: Понять, что наши координаты - это номера индексов у массива :) Изначально думается: "Ну как булевский массив может хранить координаты?" ))))
А вообще странно ... поиск по индексам, по идее, должен быть такой же моментальный, как и мы обращаемся к массиву напрямую....


Научился: Использовать 4-мерные массивы, он представляет собой перечень комбинаций положений мышки и яблока относительно друг друга (x, y),a мы не перебираем все варианты (как было до этого со списком List и Dictionary)
При использовании Dictionary было 12000 мс. После применения массива время уменьшилось до 7-11 мс.