def main(): sd.set_screen_size(600, 700) zero_screen() first_screen() sd.sleep(2) sd.clear_screen() second_screen() sd.sleep(2) sd.clear_screen() third_screen() sd.sleep(2) snowfall()
# -*- coding: utf-8 -*- import simple_draw as sd # Шаг 1: Реализовать падение снежинки через класс. Внести в методы: # - создание снежинки с нужными параметрами # - отработку изменений координат # - отрисовку sd.set_screen_size(1200, 600) class Snowflake: def __init__(self): self.lenght = sd.random_number(10, 70) self.center_point = sd.get_point(sd.random_number(100, 400), sd.random_number(500, 600)) def clear_previous_picture(self): sd.snowflake(center=self.center_point, length=self.lenght, color=sd.background_color) def move(self): self.center_point = sd.get_point( self.center_point.x + sd.randint(2, 10), self.center_point.y - sd.randint(2, 10)) def draw(self): sd.snowflake(center=self.center_point, length=self.lenght,
# -*- coding: utf-8 -*- import simple_draw as sd from old_lesson.rainbow import rainbow from old_lesson.tree import tree from old_lesson.snowfall import snowfall, snowdrift from old_lesson.wall import wall sd.set_screen_size(width=1400, height=780) rainbow_point = [500, 0] rainbow(rainbow_point, 950) tree_point = sd.get_point(1200, 0) tree(point=tree_point, angle=90, length=90, delta=30) tree_point = sd.get_point(1120, 250) tree(point=tree_point, angle=90, length=70, delta=30) tree_point = sd.get_point(1150, 400) tree(point=tree_point, angle=90, length=55, delta=30) point_rectangle = sd.get_point(370, 0) point_rectangle_2 = sd.get_point(820, 420) sd.rectangle(point_rectangle, point_rectangle_2, color=sd.COLOR_YELLOW, width=1) wall() point_triangle = sd.get_point(350, 420) v1 = sd.get_vector(start_point=point_triangle, angle=0, length=490, width=3) v1.draw() point_triangle_2 = v1.end_point
# -*- coding: utf-8 -*- # (цикл for) import simple_draw as sd # Нарисовать стену из кирпичей. Размер кирпича - 100х50 # Использовать вложенные циклы for brick_width, brick_height = 60, 20 width = 600 height = 600 sd.set_screen_size(width + 200, height + 200) start_line_x = 0 for horizontal_line in range(start_line_x, height, brick_height): start_line_point = sd.get_point(start_line_x, horizontal_line) end_line_point = sd.get_point(width, horizontal_line) sd.line(start_line_point, end_line_point) if (horizontal_line + brick_height) % (brick_height * 2): x_shift = brick_width / 2 else: x_shift = 0 for vertical_line in range(0, width, brick_width): start_line_point = sd.get_point(vertical_line + x_shift, horizontal_line) end_line_point = sd.get_point(vertical_line + x_shift, horizontal_line + brick_height) sd.line(start_line_point, end_line_point)
# - дерева # - смайлика # - снежинок # Функции по модулям разместить по тематике. Название пакета и модулей - по смыслу. # Создать модуль с функцией отрисовки кирпичного дома с широким окном и крышей. # С помощью созданного пакета нарисовать эпохальное полотно "Утро в деревне". # На картине должны быть: # - кирпичный дом, в окошке - смайлик. # - слева от дома - сугроб (предположим что это ранняя весна) # - справа от дома - дерево (можно несколько) # - справа в небе - радуга, слева - солнце (весна же!) # пример см. lesson_005/results/04_painting.jpg # Приправить своей фантазией по вкусу (коты? коровы? люди? трактор? что придумается) import simple_draw as sd sd.set_screen_size(1500, 800) from drawing_tools import rainbow, wall, smile, tree, snowball # радуга rainbow.rainbow(x = 600, y = 100, radius = 950) # дом с кирпичной стеной left_x = 700 left_y = 100 right_x = 1100 right_y = 550 sd.rectangle(sd.get_point(left_x, left_y), sd.get_point(right_x, right_y), sd.COLOR_ORANGE, 1) wall.wall(left_x, left_y, right_x, right_y) # крыша
# Создать модуль с функцией отрисовки кирпичного дома с широким окном и крышей. import simple_draw as sd from lesson_005.drawing_functions.wall_with_a_window import draw_wall_with_a_window from lesson_005.drawing_functions.triangle import triangle_2 def draw_house_with_a_roof(house_width_range, house_height_range): draw_wall_with_a_window(house_width_range, house_height_range) triangle_2(sd.get_point((house_width_range[0] - 50), (house_height_range[-1])), 0, length=((house_width_range[-1] + 50) - house_width_range[0]), color=(255, 255, 102)) if __name__ == '__main__': sd.set_screen_size(1600, 1000) house_width_range = range(400, 900) house_height_range = range(100, 500) draw_house_with_a_roof(house_width_range, house_height_range) sd.pause()
for y in house_height_range[::brick_height]: row += 1 shift_x = 0 if row % 2 else brick_width // 2 for x in house_width_range[::brick_width]: x -= shift_x sd.rectangle(sd.get_point(x, y), sd.get_point(x + brick_width, y + brick_height), color=color, width=3) sd.rectangle( (sd.get_point(house_width_range[0] - 50, house_height_range[0])), (sd.get_point(house_width_range[-1], house_height_range[-1])), color=color, width=3) sd.rectangle((sd.get_point(house_width_range[0] + 100, house_height_range[0] + 100)), (sd.get_point(house_width_range[-1] - 100, house_height_range[-1] - 100)), color=(204, 255, 255), width=0) if __name__ == "__main__": print("I am not being imported") sd.set_screen_size(1600, 900) house_width_range = range(300, 900) house_height_range = range(100, 600) draw_wall_with_a_window(house_width_range, house_height_range) sd.pause()