
Часть 1: Функция «Здание»
Напиши функцию building(width, height, floors, color), которая рисует здание с окнами.
Параметры функции:
width — ширина здания
height — высота здания
floors — количество этажей (рядов окон)
color — цвет здания
Как выглядит здание
┌────────────┐
│ ■■ ■■ │ ← этаж 3
│ ■■ ■■ │ ← этаж 2
│ ■■ ■■ │ ← этаж 1
└────────────┘
↑
черепашка начинает тут (левый нижний угол)
Шаг 1: Запоминаем начальную позицию
Перед рисованием сохрани координаты черепашки:
base_x = xcor()
base_y = ycor()
Шаг 2: Рисуем здание
Закрашенный прямоугольник размером width × height цвета color.
Шаг 3: Вычисляем размер окон
window_width = width / 5
window_height = height / (floors * 2)
Шаг 4: Рисуем окна
На каждом этаже по 2 окна. Используйте данный фрагмент для рисования окон, добавив нужные строки
# floor — номер этажа (0, 1, 2...), window — номер окна на этаже (0 или 1).
# Рисуем окна по этажам
for floor in range(floors): # проходим по этажам
for window in range(2): # проходим по окошкам на этаже
# Определяем позицию окна
x = base_x + width / 6 + window * (width / 2)
y = base_y + window_height / 2 + floor * (height / floors)
# Переходим к окну (в точку (x, y))
# Этот код напишите сами!
# не забудьте поднять перо перед переходом в точку и после перехода опустить
# Рисуем жёлтое окно
fillcolor("yellow")
begin_fill()
# напишите код рисования квадрата со стороной window_width
end_fill()
В конце функции поднимите перо черепашки! Протестируйте функцию на одном здании! Затем приступайте к части 2.
### Схема расположения окон
┌─────────────────────────┐
│ │
│ ■■ ■■ │ floor = 1
│ │
│ ■■ ■■ │ floor = 0
│ │ │ │
└───│─────────────│───────┘
↑ │ │
base_x │ └── base_x + width/6 + width/2
│
└── base_x + width/6
Часть 2: Рисуем улицу
После функции напиши основную программу, которая рисует улицу с четырьмя зданиями в ряд.
Создай четыре списки по таблице ниже и используй их при рисовании улицы.
| i |
widths[i] |
heights[i] |
floors_list[i] |
colors[i] |
| 0 |
60 |
120 |
4 |
"gray" |
| 1 |
100 |
80 |
2 |
"beige" |
| 2 |
50 |
150 |
5 |
"lightblue" |
| 3 |
80 |
100 |
3 |
"pink" |
Первое здание начните рисовать с точки (-300, -200)
После рисования одного здания изменяйте положение Черепашки по оси x:
x = x + widths[i] + 10