На этом уроке мы реализуем класс с логикой игры. Далее, напишем заглушки для функций смещения клеток и функцию проверки окончания игры game_over().
Дата отправки отчёта:
15 апреля 2016 г.
Задание выполнено: за
3 час. 50 мин.
Чему научился:
Повторил работу с рекурсией.
Что было сложным:
Понять работу рекурсивных функций shift и combine, организовать прорисовку меток через самописный делегат и исправить небольшие недочеты с табличной компоновкой.
Комментарии:
Во время написания кода прокачался в некоторых технических аспектах, поработал с "делегатами". В моем случае табличная компоновка не сказывалась на скорости отрисовки матрицы меток, поэтому оставил. Понравились рекурсивные функции - красиво. В итоге, хорошая игра в копилочку, есть куда расширять и улучшать.
Особенно понравилось то, как в функции combine складываются одинаковые, парные метки. По правилам игры, если например сдвинуть метки вверх, то сумма должна накапливаться в верхней метке. Если вниз - то в нижней, вправо - в правой, влево - в левой. И это на видео сразу заработало, благодаря организации подсчета через стек, а рекурсия по сути это стек :)
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Повторил работу с макросами, генерацией случайных чисел. Трудности: Разобраться в рекурсивных функциях. В позапрошлом отчете в комментарии я написал "математично", а в этом напишу "алгоритмично":D Снимаю шляпу, красивое решение с помощью рекурсивных функций shift и combine :)
Научился: Изучил логику игры 2048. Трудности: Набрать очки в собственноручно запрограммированной игре. Урок очень интересный и познавательный, а вот сама игра начала раздражать. Я даже сообщение с победой добавлять не стал: это игра на проигрыш.