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

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

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

  • На этом уроке мы реализуем класс с логикой игры.
    Далее напишем функции для смещения клеток и для их объединения.
    Ещё раз сыграем, чтобы протестировать созданную программу.
  • Дата отправки отчёта: 15 апреля 2016 г.
  • Задание выполнено: за 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   6452Кирилл Шмойлов+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
Трудности: повторять за Евгением Витольдовичем его ошибки
там где мы пишем "какое количество времени вы писали программу" просьба ввести поле ДНИ
Научился: Создал класс Logic. Прописал там все функции. Разобрался в работе делегата. Разобрался в написанных методах. Еще одна хорошая тренировка с рекурсией! За это отдельное спасибо. В конце поигрался с цветовой схемой программы.
Трудности: Пришлось разбираться только в смещении ячеек, в параметрах метода Shift(). Наконец-то увидел просто нереальную силу делегатов на таком простом и понятном примере.
Я считаю большим плюсом, что вы использовали делегат. На практике такие моменты гораздо понятней чем в теории. Возьмите это себе на заметку Евгений Витольдович. Так же есть одно замечание, следуя правилам игры, которые можно прочесть по этой ссылке: https://ru.wikipedia.org/wiki/2048_%28%D0%B8%D0%B3%D1%80%D0%B0%29 "В каждом раунде появляется плитка номинала «2» (с вероятностью 90 %) или «4» (с вероятностью 10 %)" - вы этого не учли в программе. У себя это доделал.