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

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

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

  • На этом уроке мы реализуем класс с логикой игры.
    Далее напишем функции для смещения клеток и для их объединения.
    Ещё раз сыграем, чтобы протестировать созданную программу.
  • Дата отправки отчёта: 16 января 2016 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Очень многому ))
  • Что было сложным: Алгоритм смещения и комбинирования плашек.
  • Комментарии: Все отлично.
  • Оценка видео-уроку:
Отчёт от 8339 за Микроигры / 2048 - Логика




Оцени работу

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

2146. Иван
Иван
ответить
→  Валентин  # Микроигры / 2048 - Логика / 2016-01-17 00:32

Здорово, что урок приносит много нового и интересного. Жаль что все подробно не написал. Это ж самое интересное!


  • Отчёт оценивали:
    8886Михаил Ермишин0   4699Сергей Витальевич+1   1Евгений Витольдович+1   8Василевская Елена0   5489Serg+1   6925Артём+1   8275Tekashnik+1   4719Вадим+1   459Сергей Сергеевич+1   5760Мариша +1   2912Игорь+1   6195sergey+1   6958Кирилл+1   3747Сергей+1   7645Александр Львович+1   5Женя+1   2146Иван+1   4992Николай+1   4467Alcatraz+1   8810Орехов Эдуард0   1570Сарапульцев Константин+1   8407Наталья+1   2773Никита+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Первый раз прочувствовал "конец" рекурсии, в данном примере он не такой глубокий, как в тех, которые я видел. Несмотря на это алгоритм повторить не смогу. Окончательно понял зачем и почему нужны делегаты, в основном они используются для того, чтобы управлять элементами формы из других классов(мне кажется это очень понятное объяснение для людей, которые не могут понять, но я ни разу не слышал его именно так).
Трудности: Написать алгоритмы движения и комбинирования. Писал их под копирочку.
Я на предыдущем уроке сделал динамичный TableLayoutPanel, которая строится в зависимости от size, так же у меня у окна можно менять размер и с ним таблица тоже его меняет, только не могу понять почему у меня ничего не тормозит.
Научился: Повышать скорость работы программы. И рекурсия. Хотя здесь как раз быстро смекнул что к чему:)))))))
Трудности: Наверное рекурсия.
Наконец-то я доделал это приложение! Подробности ниже!))) 1. Добавил статистику игры в виде таблицы рекордов. За формирование таблицы рекордов отвечает отдельный класс "Statistics". В нем инкапсулирована вся работа с таблицей. При сохранении таблицы я использовал сериализацию и десериализацию. Это неимоверно удобно и выливается в итоге в меньший объем кода, чем при использовании System.IO c той же целью. Данный класс является моим первым шаблоном, который очень удобно интегрировать в любое приложение, требующее какой-то подобной статистики. 2. Добавил какой-никакой интерфейс игры - поле для ввода имени игрока, поле отображение текущего счета игры и кнопку рестарта игры. Данные текстБоксы как раз и используются при сохранении игры в таблицу рекордов. 3. Добавил вероятность появления цифр на игровое поле - где-то в описании игры в интернете вычитал, что цифры появляются не с равной вероятностью (да и сам замечал подобное при игре на смартфоне): 2-ка с вероятностью 80%-ами, 4-ка же с оставшимися 20%-ами. 4. Добавил "диалог" между программой и игроком при завершении игры с вопросами о сохранении игры и о создании новой игры. 5. Добавил кнопку рестарта игры. Я очень рад своим доделкам/переделкам. Именно так повышается скилл программирования - когда ты сам находишь решения своим же идеям:)))