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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Морской Бой / VIP. Анимированный кубик

  • На этом уроке мы создадим массив из кружков,
    они будут сначала двигаться случайно, похоже на бильярд.
    Дальше мы создадим правила для их передвижения
    и в конечном итоге реализуем анимированный игральный кубик.

    Задание:
    Нарисовать верхнюю сторону игрального кубика
    с шестью анимированными точками для смены чисел.
  • Дата отправки отчёта: 9 декабря 2015 г.
  • Задание выполнено: за 2 час. 50 мин.
  • Чему научился: Повторил работу с двумерными массивами в C#.
  • Что было сложным: Организовать работу программы с использованием классов.
  • Комментарии: Интересная тема, анимация завораживает. Понравилась идея представления значения числа на игральном кубике в виде двумерного массива. По началу, меня это не устраивало, реализовал в виде одномерного массива, но получилось так, что решение Евгения Витольдовича лучше отражает идею, по коду легче понять замысел. Однако синтаксис этих вложенных конструкций меня не устраивал. Поэтому добавил дополнительные переменные для выделения значений из массивов.

    Добавил классы NumberArena (абстракция числа на кубике), Drawer(рисовальщик) и GameLogic(внешний класс, который всем управляет и вызывается из формы). По ходу разработки было много сомнений. Конечно, синтаксически добавить класс не составляет никаких проблем, даже есть такой способ в рефакторинге "выделение класса" и прочие мелкие махинации с кодом. Проблемы были в моменте связи классов. И тут-то мне не нравилось, что классы знают много друг о друге и выполняют чужую работу. Не буду подробно описывать все эти моменты, в итоге удалил класс Drawer и передал его обязанности GameLogic.

    Своим полученным решением не доволен, но доволен тем, что появились идеи для дальнейших решений, которыми займусь в ближайшем будущем. Спасибо, Евгений Витольдович)
  • Оценка видео-уроку:
Отчёт от 7276 за Морской Бой / VIP. Анимированный кубик


Отчёт от 7276 за Морской Бой / VIP. Анимированный кубик




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Ильшат  # Наноигры / Анимированный кубик / 2015-12-09 14:12

Ильшат, поищи и почитай про "запахи кода", так будет понятнее, когда и что нужно исправлять.
Например, здесь: ru.wikipedia.org/wiki/Код_с_запашком
Мы обязательно эту тему тоже возьмём и проработаем после НГ.


7276. --
Ильшат
Ильшат
ответить
→  Евгений Волосатов  # Наноигры / Анимированный кубик / 2015-12-09 15:03

С данным термином знаком по книгам Бека и Фаулера. Тема актуальная, требует не только умения разбивать задачу на взаимодействующие классы, но и их правильной организации. Спасибо, Евгений Витольдович)


24. --
Олюшка
Олюшка
ответить
→  Ильшат  # Наноигры / Анимированный кубик / 2015-12-09 18:29

Ильшат, я рада что ты отлично позанимался и поэкспериментировал с кодом, на сейчас ты сделал все что сделал, а дальше уверена что ты реализуешь еще лучше и качественней!!!
Ты уже Молодец! Я рада что уроки еще больше тебя развивают и дают идеи и мотивацию двигаться дальше!!! :)


7276. --
Ильшат
Ильшат
ответить
→  Олюшка  # Наноигры / Анимированный кубик / 2015-12-09 21:46

Спасибо, Оля. Хорошие примеры программ: небольшие, простые и в тоже время отлично подходят для изучения языка)



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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Больше понимания работы с графикой
Трудности: Материал доступный, сложность - в объёме работы
Урок интересный: вариантов алгоритмов движения фигур много и их реализация затягивает. В моём решении нажатие кнопки запускает генерацию граней, к-рую останавливает нажатие на ту же кнопку. За урок - благодарность.


Научился: Работать с графикой и массивами!
Трудности: Все доступно и понятно!
Огромное спасибо за очень интересный урок!