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

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

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

  • На этом уроке мы научим программу выбирать
    плашки по щелчку мышки, убирать с экрана верные пары,
    и сыграем несколько раз до полного успеха :)
  • Дата отправки отчёта: 10 июня 2015 г.
  • Задание выполнено: за 40 мин.
  • Чему научился: Делать проверку на положение курсора мыши относительно спрайта.
  • Что было сложным: Дождаться когда уже можно будет показать детям эту замечательную игру!
  • Комментарии: Слов нет, одни положительные эмоции - и от процесса и от результата! Получилось очень хорошая программа и при ее создании посчастливилось познакомиться с разными приемами программирования - все это пойдет на пользу! ОГРОМНОЕ СПАСИБО за чудесный курс!
  • Оценка видео-уроку:
Отчёт от 1295 за Игры со Спрайтами / Домино. Финальный аккорд


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




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий Че  # Игры со Спрайтами / Домино. Финальный аккорд. / 2015-06-10 19:57

Дима, я рад за тебя. Молодец!


24. Олюшка
Олюшка
ответить
→  Дмитрий Че  # Игры со Спрайтами / Домино. Финальный аккорд. / 2015-06-10 19:36

Дмитрий, Поздравляю! Ты, Молодец!



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Писал все и сразу с нуля со своей логикой, но старался по шагам ЕВ. Иногда эти шаги не совпадали, поэтому сказать конкретно за этот урок тяжело. Программа написана неделю назад, местами вылизывал, подпиливал, чтоб не стыдно в отчет выложить.
Трудности: Довести её до логического конца)) Хотелось бросить её и не заморачиваться, работает и ладно. В плане архитектуры хотелось, чтоб логика была разбита на независимые слои, где каждый верхний слой инкапсулирует нижний.
Как и обещал, выкладываю свою реализацию на всеобщее рассмотрение. Критика, обсуждения, дополнения, предложения приветствуются. http://www.fayloobmennik.net/5030084 Конечно не идеал, чёт время уже не хочется на нее тратить. Есть моменты реализация которых мне не нравятся, есть моменты с костылями. Коментариев оставил достаточно, но если у кого какие вопросы возникнут, что и как по коду - отвечу. Основные моменты изменений: Плашки - это обычный массив plate[] (этим избежал ненужных эллементов двумерного массива), инкапсулировал его в Plates, где рализовал итератор для него и два именованих энумератора. Это дало возможность перебирать все плашки с помощью foreach и обращаться к плашке так, будто она лежит на поле plates[row,column]. Описал событие которое возникает при смене статуса плашки. Когда плашка меняет статус, генерируется событие, на которое можно подвесить любую цепочку методов для обработки. У меня один метод, который разбирает, как эту плашку анимировать. В плашке есть поле делегат, на который я подписываю метод с анимацией. Каждая плашка может анимироваться как хочет, хоть цепочку из анимаций. При этом сохраняется полная абстракция. Обрабатывая анимацию, мы вообще не в курсе, как именно она анимируется.
Научился: Исправлять недочеты программы Исправила подсчет очков на то, как изначально было задумано. score += DominoSettings.maxPoints * 2 / (1 + Math.Abs(x1 - DominoSettings.maxPoints / 2)) + DominoSettings.maxPoints * 2 / (1 + Math.Abs(x2 - DominoSettings.maxPoints / 2));
Трудности: Я бы врятли догадалась добавить функции IsOpenBot(int x, int y) и IsOpenTop(int x, int y). С подсказками все легко.
Надо еще доделать меню, добавить рекорды, "игру на деньги" (где за игру будет сниматься n очков), о программе, сделать подсказку, протестировать на слабом компьютере и добавить настройки графики.