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

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

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

  • Поздравляю, программа уже создана: можно играть, можно ею хвастаться.
    На этом уроке мы добавим в игру автоходы, чтобы можно было
    управлять нашим человечком с помощью мышки - указать, куда идти,
    и даже указать, какой ящик куда нужно поставить.
    Для этого нам потребуются два класса по решению лабиринта.
  • Дата отправки отчёта: 22 марта 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: добавлять наработки консоли на Формс
  • Что было сложным: найти исправления в ApplaSolver
  • Комментарии: все супер!
  • Оценка видео-уроку:
Отчёт от 3223 за Игра Сокобан / Сокобан - Игра - Автоходы




Оцени работу

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

1. Евгений Витольдович
Евгений Витольдович
ответить
→  Тимур  # Игра Сокобан / Сокобан - Игра - Автоходы / 2015-03-22 16:33

Ну, хотя бы так. Можно было бы прикрепить ксриншот начального положения и конечного, после выполнения процедуры автоходов.


3223. Тимур
Тимур
ответить
→  Евгений Витольдович  # Игра Сокобан / Сокобан - Игра - Автоходы / 2015-03-22 16:29

http://www.videosharp.info/3223/checking/game5=169  так?


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Тимур  # Игра Сокобан / Сокобан - Игра - Автоходы / 2015-03-22 16:21

С твоего скриншота не видно, что было реализовано.


  • Отчёт оценивали:
    1803Саша+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Самостоятельно изучил индексаторы в C#.
Трудности: Работа с индексами двумерных массивов. Эта проблема идет с самого начала проекта Сокобан, после того, как я решил использовать в качестве первого индекса двумерных массивов - номер строки, а второй индекс обозначает номер столбца. В дальнейшем, ситуация стала критической - в программе обработка данных ведется как пара (x, y), а обращение к элементам массива как (y, x). Во время выполнения этого урока несколько раз ошибочно путал местами x, y. Меня это утомило, настало время навести в этом порядок и выполнить унификацию доступа. В предыдущих уроках я создал класс Level, для хранения информации о загруженном уровне. Для унификации доступа было необходимо добавить некий промежуточный слой между пользователями Level и хранящейся в нем матрицей уровня. Этот промежуточный слой должен выполнять преобразование координат из (x, y) в (y, x). Для удобного доступа к данным и прозрачного преобразования координат искал нечто подобное перегрузке оператора []. В C# для этого используются индексаторы. Почитал материал, попробовал на двумерном массиве и все получилось. Теперь везде доступ по x, y. Вздохнул свободно)
Интересное дополнение, автоходы значительно экономят время, спасибо)
Трудности: устранить ошибки в классах
Учитывая замечание Евгения Витольдовича про повторный код, который нужно было исправить, создал базовый класс Solver и два производных MouseSolver и AppleSolver. Структуру Dirs вынес из класса и "опубликовал".