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

Формула программиста
основатель — Волосатов Евгений Витольдович
Шахматная олимпиада: вторая часть
Вебинар «Решение задач второй шахматной олимпиады» начнётся через 8 час. 44 мин.

Игры со Спрайтами / Домино. Финальный аккорд

  • На этом уроке мы научим программу выбирать
    плашки по щелчку мышки, убирать с экрана верные пары,
    и сыграем несколько раз до полного успеха :)
  • Дата отправки отчёта: 8 июля 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Завершил написание игры.
  • Что было сложным: не было сложного
  • Комментарии: игра сделана!
  • Оценка видео-уроку:
Отчёт от 5029 за Игры со Спрайтами / Домино. Финальный аккорд


Отчёт от 5029 за Игры со Спрайтами / Домино. Финальный аккорд




Оцени работу

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

2146. Иван
Иван
ответить
→  Андрей Поляков  # Игры со Спрайтами / Домино. Финальный аккорд / 2015-07-08 22:31

Поздравляю с окончание создания игрушки. Очень познавательные видео-уроки программирования!



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Писал все и сразу с нуля со своей логикой, но старался по шагам ЕВ. Иногда эти шаги не совпадали, поэтому сказать конкретно за этот урок тяжело. Программа написана неделю назад, местами вылизывал, подпиливал, чтоб не стыдно в отчет выложить.
Трудности: Довести её до логического конца)) Хотелось бросить её и не заморачиваться, работает и ладно. В плане архитектуры хотелось, чтоб логика была разбита на независимые слои, где каждый верхний слой инкапсулирует нижний.
Как и обещал, выкладываю свою реализацию на всеобщее рассмотрение. Критика, обсуждения, дополнения, предложения приветствуются. http://www.fayloobmennik.net/5030084 Конечно не идеал, чёт время уже не хочется на нее тратить. Есть моменты реализация которых мне не нравятся, есть моменты с костылями. Коментариев оставил достаточно, но если у кого какие вопросы возникнут, что и как по коду - отвечу. Основные моменты изменений: Плашки - это обычный массив plate[] (этим избежал ненужных эллементов двумерного массива), инкапсулировал его в Plates, где рализовал итератор для него и два именованих энумератора. Это дало возможность перебирать все плашки с помощью foreach и обращаться к плашке так, будто она лежит на поле plates[row,column]. Описал событие которое возникает при смене статуса плашки. Когда плашка меняет статус, генерируется событие, на которое можно подвесить любую цепочку методов для обработки. У меня один метод, который разбирает, как эту плашку анимировать. В плашке есть поле делегат, на который я подписываю метод с анимацией. Каждая плашка может анимироваться как хочет, хоть цепочку из анимаций. При этом сохраняется полная абстракция. Обрабатывая анимацию, мы вообще не в курсе, как именно она анимируется.
Научился: Закрепил навыки, исправил свои мелкие ошибки с прошлого урока.
Трудности: Разложить пасьянс, на этот раз получилось достаточно долго, 20 минут добивался успеха.
Мне понравился сам ход разработки, сначала с логики игры, продумали класс Домино. Затем реализовали вывод на экран, тестировали с помощью меток. В итоге показали, что логика работает верно и можно изменить интерфейс игры, сделать его более эффектным, зрелищным. Далее создали спрайты, за это отдельное спасибо, клево своими же руками в своей же программе создавать элементы игры) Добавили анимацию. И, наконец, объединили все вместе, получился прекрасный результат. Спасибо, Евгений Витольдович!)