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

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

Игра Сокобан / Сокобан - Игра - Автоходы

  • Поздравляю, программа уже создана: можно играть, можно ею хвастаться.
    На этом уроке мы добавим в игру автоходы, чтобы можно было
    управлять нашим человечком с помощью мышки - указать, куда идти,
    и даже указать, какой ящик куда нужно поставить.
    Для этого нам потребуются два класса по решению лабиринта.
  • Дата отправки отчёта: 13 января
  • Задание выполнено: за 1 час. 20 мин.
  • Чему научился: Самостоятельно изучил индексаторы в C#.
  • Что было сложным: Работа с индексами двумерных массивов. Эта проблема идет с самого начала проекта Сокобан, после того, как я решил использовать в качестве первого индекса двумерных массивов - номер строки, а второй индекс обозначает номер столбца. В дальнейшем, ситуация стала критической - в программе обработка данных ведется как пара (x, y), а обращение к элементам массива как (y, x). Во время выполнения этого урока несколько раз ошибочно путал местами x, y. Меня это утомило, настало время навести в этом порядок и выполнить унификацию доступа. В предыдущих уроках я создал класс Level, для хранения информации о загруженном уровне. Для унификации доступа было необходимо добавить некий промежуточный слой между пользователями Level и хранящейся в нем  матрицей уровня. Этот промежуточный слой должен выполнять преобразование координат из (x, y) в (y, x). Для удобного доступа к данным и прозрачного преобразования координат искал нечто подобное перегрузке оператора []. В C# для этого используются индексаторы. Почитал материал, попробовал на двумерном массиве и все получилось. Теперь везде доступ по x, y. Вздохнул свободно)
  • Комментарии: Интересное дополнение, автоходы значительно экономят время, спасибо)
  • Оценка видео-уроку:
Отчёт от 7276 за Игра Сокобан / Сокобан - Игра - Автоходы


Отчёт от 7276 за Игра Сокобан / Сокобан - Игра - Автоходы




Оцени работу

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

7276. Ильшат
Ильшат
ответить
→  Евгений Витольдович  # Игра Сокобан / Сокобан - Игра - Автоходы / 2016-01-14 22:43

В целом, на марафоне было лучше, потому что был контроль, программа минимум, больше успевал. Но главное в том, что на марафоне была хорошая обратная связь, рекомендации по коду, ответы на вопросы. Я думаю, что это для курсантов важнее.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Ильшат  # Игра Сокобан / Сокобан - Игра - Автоходы / 2016-01-13 23:57

Можно было "ступенчатые" массивы использовать
mas [x] [y] как вариант, конечно, не панацея.
Кстати, без марафона как дело продвигается?
Лучше/хуже?


8275. Tekashnik
Tekashnik
ответить
→  Ильшат  # Игра Сокобан / Сокобан - Игра - Автоходы / 2016-01-13 23:12

Хм... индексаторы говоришь...


  • Отчёт оценивали:
    8846Сергей0   459Сергей Сергеевич+1   3747Сергей+1   6925Артём+1   8275Tekashnik+1   2639Морозов Юрий Александрович+1   4435Мурад+1   1232Фомичева Наталья+1   1Евгений Витольдович+1   4719Вадим+1   6452Lik_Kirill+1   4004Елена+1   4467Alcatraz+1   7645Александр Львович+1   8194Сергей+1   7788Ксения+1   8670Yuriy0   4699Сергей Витальевич+1   4992Николай+1   4395Денис+1   6644valerys Nikola+1   5705Андрей +1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Внедрил автоходы
Трудности: Ничего
Как вы, наверное, догадались, я кое-что улучшил =) Ящик вибирается по одному клику и выдиляется синим (видно на скриншоте). Синий ящик - значение Cell. Функция Cell_MouseClick на втором скриншоте =)
Научился: добавлять наработки консоли на Формс
Трудности: найти исправления в ApplaSolver
все супер!