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

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

Микроигры / 2048 - Логика

  • На этом уроке мы реализуем класс с логикой игры.
    Далее напишем функции для смещения клеток и для их объединения.
    Ещё раз сыграем, чтобы протестировать созданную программу.
  • Дата отправки отчёта: 15 апреля
  • Задание выполнено: за 3 час. 50 мин.
  • Чему научился: Повторил работу с рекурсией.
  • Что было сложным: Понять работу рекурсивных функций shift и combine, организовать прорисовку меток через самописный делегат и исправить небольшие недочеты с табличной компоновкой.
  • Комментарии: Во время написания кода прокачался в некоторых технических аспектах, поработал с "делегатами". В моем случае табличная компоновка не сказывалась на скорости отрисовки матрицы меток, поэтому оставил. Понравились рекурсивные функции - красиво. В итоге, хорошая игра в копилочку, есть куда расширять и улучшать.
  • Оценка видео-уроку:
Отчёт от 7276 за Микроигры / 2048 - Логика


Отчёт от 7276 за Микроигры / 2048 - Логика




Оцени работу

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

7276. Ильшат
Ильшат
ответить
→  Евгений Витольдович  # Микроигры / 2048 - Логика / 2016-04-15 09:20

Особенно понравилось то, как в функции combine складываются одинаковые, парные метки. По правилам игры, если например сдвинуть метки вверх, то сумма должна накапливаться в верхней метке. Если вниз - то в нижней, вправо - в правой, влево - в левой. И это на видео сразу заработало, благодаря организации подсчета через стек, а рекурсия по сути это стек :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Ильшат  # Микроигры / 2048 - Логика / 2016-04-15 08:58

Я ждал, что ты оценишь рекурсивный алгоритм :)


  • Отчёт оценивали:
    3506Алексей|BrisK|Кривицкий+1   6452Lik_Kirill+1   4992Николай+1   4467Alcatraz+1   8380zhikharevav+1   9286Petuško Julija+1   9288Pučko Antonina+1   9567Максим+1   4395Денис+1   9263Андрей Н.+1   1Евгений Витольдович+1   6458Илья+1   9369Tautavičiūtė Anastasija+1   689Igorenzia+1   9541Сергей Валерич0   9285Bogdaškaitė Erika+1   6958Кирилл+1   8886Михаил Ермишин+1   459Сергей Сергеевич+1   7645Александр Львович+1   9332Dima+1   2146Иван+1   8322ironsavior+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Динамическому созданию объектов и их передвижению
Трудности: Не ошибиться в программировании логики игры
все ок
Научился: Рекурсивному движению значений в определенную сторону. Интересная реализация механики игры, не все понятно, но посидеть - разобрать и я думаю все встанет на свои места
Трудности: Понять логику рекурсии
Чуть-чуть изменил цвета относительно заготовки. Поменял цвет заднего фона чтобы не так сливалась картинка. Добавил счетчик в углу экрана (как в оригинале). Добавил кнопку рестарта (если вдруг не нравиться результат или расстановка - всегда можно начать сначала). Добавил Победу. При появлении ячейки со значением 2048 высвечивается поле, поздравляющее с победой. Можно либо начать игру сначала либо продолжить набивать очки.