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

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

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

  • На этом уроке мы реализуем класс с логикой игры.
    Далее напишем функции для смещения клеток и для их объединения.
    Ещё раз сыграем, чтобы протестировать созданную программу.
  • Дата отправки отчёта: 30 июня 2015 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: Рекурсивному движению значений в определенную сторону. Интересная реализация механики игры, не все понятно, но посидеть - разобрать и я думаю все встанет на свои места
  • Что было сложным: Понять логику рекурсии
  • Комментарии: Чуть-чуть изменил цвета относительно заготовки. Поменял цвет заднего фона чтобы не так сливалась картинка. Добавил счетчик в углу экрана (как в оригинале). Добавил кнопку рестарта (если вдруг не нравиться результат или расстановка - всегда можно начать сначала). Добавил Победу. При появлении ячейки со значением 2048 высвечивается поле, поздравляющее с победой. Можно либо начать игру сначала либо продолжить набивать очки.
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 986 за Микроигры / 2048 - Логика




Оцени работу

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

24. Оля
Оля
ответить
→  Антон Лазарец  # Микроигры / 2048 - Логика / 2015-06-30 14:32

Антон, отличная работа, здорово что поработал и добавил своего, более усовершенствовал игру! Молодец! :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Антон Лазарец  # Микроигры / 2048 - Логика / 2015-06-30 13:16

Антон, шикарный результат, ты молодец!



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




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

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

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

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