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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

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

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

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

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


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




Оцени работу

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

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

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


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

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


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

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


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

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


  • Отчёт оценивали:
    8118Юрий +1   7645Александр Львович+1   3664данила+1   8407Наталья0   7448Sergey Shumskiy+1   459Сергей Сергеевич+1   689Igorenzia+1   7985Андрей +1   1Евгений Витольдович+1   6925Артём+1   2639Морозов Юрий Александрович+1   6644valerys Nikola0   7901Влад+1   3747Сергей+1   6987MichGar+1   6203Николай (nick27m)+1   429Максим Базуев+1   6452Lik_Kirill+1   Посетитель+1   24Оля+1   6958Кирилл+1   8330Катя0   6275Андрей+1  

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




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

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

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

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