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

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

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

  • Поздравляю, программа уже создана: можно играть, можно ею хвастаться.
    На этом уроке мы добавим в игру автоходы, чтобы можно было
    управлять нашим человечком с помощью мышки - указать, куда идти,
    и даже указать, какой ящик куда нужно поставить.
    Для этого нам потребуются два класса по решению лабиринта.
  • Дата отправки отчёта: 1 сентября 2015 г.
  • Задание выполнено: за 2 час. 30 мин.
  • Чему научился: Подключать и применять уже готовые классы к проекту, изменяя их нужным образом.
    Добавлять таймер и обработчик.
  • Что было сложным: Найти ошибку из-за которой у меня мышка не хотела ходить по местам для ящиков.
  • Комментарии: Хоть я и повозился с ошибками, но это стоило того.
    Признаться мне всегда не хватало такой функции в сокобане. Эти утомительные ходы, а теперь красота, она все делает сама! Это восторг! Из-за этого самые нудные уровни будут проходиться весело и непринужденно.
  • Оценка видео-уроку:
Отчёт от 6391 за Игра Сокобан / Сокобан - Игра - Автоходы




Оцени работу

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

2146. Иван
Иван
ответить
→  Владимир  # Игра Сокобан / Сокобан - Игра - Автоходы / 2015-09-02 00:13

Мечты сбываются для того, чтобы было место для новых мечт. Отлично получилось! Красивый дизайн.
Ошибки поймать - отдельное искусство, после этого программу начинаешь понимать на новой глубине.


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

Да-да, Владимир. Это меня тоже мотивировало к созданию этого проекта :)



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




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

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

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

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