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

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

Игра Сокобан / Сокобан - Игра - Управление

  • Теперь мы создадим класс логики игры Game,
    используя который, мы реализуем управление человечком
    курсорными клавишами клавиатуры.
    А также сделаем переход на следующий уровень.
  • Дата отправки отчёта: 5 января
  • Задание выполнено: за 16 час. 00 мин.
  • Чему научился: У меня во время прохождения этого урока, отпочковалась , мне кажется, дополнительная масса на затылке где-то
  • Что было сложным: Сам по себе урок не из простых, с его алгоритмами движения, наложениями матриц, от многое добавлял, что не могло пройти без осложнений
  • Комментарии: Когда смотрел на кол-во уроков думал буду все свои задумки плавно вводить в игру. А получилось , что на этом уже уроке нужно создать полноценную игру на одного человека. А далее будут уже крутые "фичи".

    От себя сделал "игру" человека под именем с сохранением его результатов. Ввёл время, за которое человек прошёл уровень. Ввел кол-во попыток игрока на данном уровне. При загрузке игры снова и вводе своего ника - дается доступ к уровню, до которого данный игрок дошёл. Сделал таблицу рекордов. Где отображаются лучшие результаты и собственно игрока.

    Сделал кнопку отмены хода. Думал тяжелее она дастся, хорошо , что не так, под конец уже неплохо" подустал".
    Реализовал на основе такой структуры данных как Stack. На каждом ходу Пушит туда матрицу наших клеток. А при "отмене хода"  достает верхнюю. Принцип LIFO оказался как нельзя кстати.

    Теперь можно со споконой душой приступать к апргрейду игры  , ботами, решалками и прочим :)
    Спасибо!
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 8005 за Игра Сокобан / Сокобан - Игра - Управление




Оцени работу

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

2146. Иван
Иван
ответить
→  Александр  # Игра Сокобан / Сокобан - Игра - Управление / 2016-01-06 09:37

Здорово получилось! Нововведения отменные!


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Александр  # Игра Сокобан / Сокобан - Игра - Управление / 2016-01-06 00:40

Молодец, Саша.
Не думаю, что помещать копию всего массива - это оптимально, но для начала можно и так.
Есть другая идея - помещать в стек "команды" для возвращения поля к предыдущему ходу.
Это будет занимать на два порядка (т.е. в сто раз) меньше места.


24. Оля
Оля
ответить
→  Александр  # Игра Сокобан / Сокобан - Игра - Управление / 2016-01-06 00:25

Александр, очень круто, Молодец! Так держать! :)


  • Отчёт оценивали:
    4699Сергей Витальевич+1   6195sergey+1   8778Илья0   6925Артём+1   459Сергей Сергеевич+1   5868Vera+1   689Igorenzia+1   8275Tekashnik+1   4992Николай+1   5760Мариша +1   4004Елена+1   7645Александр Львович+1   4435Мурад+1   1710Степан+1   24Оля+1   6484Вячеслав+1   1Евгений Витольдович+1   7276Ильшат+1   2146Иван+1   4467Alcatraz+1   6203Николай (nick27m)+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: перемещаться по созданному в редакторе лабиринту
Трудности: перемещение по карте
нужна отмена последних действий, как в редакторе, сохранять и загружать уровни из одного общего места
Научился: реализация логики движения по пустым клеткам
Трудности: куча дебага
ok