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

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

Теория ООП / Второй Снеговик

  • На этом уроке мы создадим второй спрайт -
    ещё одного снеговика, но разноцветного.

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 10 апреля 2016 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Ничему
  • Что было сложным: Ответить на вопросы.
  • Комментарии: 3. Сделать для снеговика отдельный класс. Параметры снеговика будут ограничиваться верхней левой и нижней правой точками.
    1. Ввести "точку центра" с координатами 0,0,0. Для перемещения по осям x и y изменять первый и второй параметр нашей точки. Путем добавления к координатам этих параметров.
    2. Для поворота использовать третий параметр. Где мы будем по теореме косинусов или синусов (т.к. знаем длины сторон "каркаса" снеговика и угол между ними) или по координатам определять все точки. Это если я правильно понял вопрос про поворот.
  • Оценка видео-уроку:
Отчёт от 1967 за Теория ООП / Второй Снеговик




Оцени работу

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

  • Отчёт оценивали:
    9237Mais+1   36Данил+1   4992Николай+1   1537Сергей+1   3506Алексей|BrisK|Кривицкий+1   6925Артём+1   1Евгений Волосатов+1   8380zhikharevav+1   4467Alcatraz+1   7645Александр Львович+1   9332Dima+1   6452Кирилл Шмойлов+1   4395Денис+1   689Igorenzia+1   9820Konstantin+1   7652Петя+1   9567Максим+1   5419Роман+1   6958Кирилл+1   2146Иван+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
чтобы смешать и поворачивать можно повернуть координатную сетку vec2 rotate(vec2 point, float angle){ vec2 rotated_point; rotated_point.x = point.x * cos(angle) - point.y * sin(angle); rotated_point.y = point.x * sin(angle) + point.y * cos(angle); return rotated_point; } для оси X (1,0) и оси Y(0,1), angel произвольный. а потом вычислять координаты точек как x(a,b) + y(c,d) = (newX, newY) масштабирование скорее всего тоже можно так сделать только сетку по другому изменять Все это делается в Draw.
Научился: Закрепил предыдущие навыки, готовился новизне на следующих уроках
Трудности: А вот в этом уроке из курса ООП и начались сложности: не просто писать код и слушать объяснения учителя, но еще и над ответом на вопрос думать. Вопрос не так прост, как кажется. С налета не решить. Вот для меня ответ на вопрос, который был бы оптимальным решением в тех условиях, которые есть, - и был наибольшей сложностью.
Выложу свои мысли по поводу движения, вращения и масштабирования снеговика на момент записи урока и после размышления "постскриптум" (исходя из того, что есть у нас, без применения тех примочек ООП, которые мы не учили): 1) Инициализацию снеговика надо выделить в отдельный класс, в который передавать все точки. 2) Для перемещения снеговика - в функцию прорисовки нового класса передать точки, смещенные по X или по Y 3) Вращение - частный случай перемещения верхней части снеговика в одну сторону, нижней - в другую при неподвижном центре 4) по поводу масштабирования ничего в голову не пришло кроме как вывести снеговиков на отдельные pictureBox'ы и изменения размеров каждого