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

Формула программиста
основатель — Волосатов Евгений Витольдович
C# Олимпиада из Простоквашино
Вебинар «Комбинаторные алгоритмы» начнётся через 16 час. 23 мин.

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

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




Оцени работу

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

24. Олюшка
Олюшка
ответить
→  Александр Львович  # Микроигры / 2048 - Логика / 2016-01-05 00:24

Александр, да, вот мне бы все же хотелось чтобы ты сделал игру более разноцветной, так все сливается! :)


2146. Иван
Иван
ответить
→  Александр Львович  # Микроигры / 2048 - Логика / 2016-01-04 19:08

Здорово получилось! Может стоит пройти в пошаговом режиме, чтобы лучше видеть, что происходит при выполнении программы. Поставить брейкпоинт, запустить, а потом F11.


3664. данила
данила
ответить
→  Александр Львович  # Микроигры / 2048 - Логика / 2016-01-04 12:09

Попробуй написать алгоритм сам, он интуитивно понятен. И все будет понятно


6925. Артём
Артём
ответить
→  Александр Львович  # Микроигры / 2048 - Логика / 2016-01-04 10:33

двойка и четвёрка сливаются, чуть измените цвет одной из кнопок. А так хорошо, что набрали 2048 :)


  • Отчёт оценивали:
    6925Артём+1   4992Николай+1   8520Сергей Колупаев0   3664данила+1   459Сергей Сергеевич+1   5232Игорь+1   6458Илья+1   8275Tekashnik+1   2639Морозов Юрий Александрович+1   371Kristian0   5649Максим Лапшинов+1   6484Вячеслав+1   1Евгений Волосатов+1   6203Николай (nick27m)+1   8407Наталья+1   3223Тимур+1   2146Иван+1   8335Raynhour0   7276Ильшат+1   3747Сергей+1   689Igorenzia+1   24Олюшка+1   4699Сергей Витальевич+1  

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




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

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

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

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