def main(): points = [Point(x=230, y=450), Point(x=240, y=460), Point(x=230, y=470), Point(x=240, y=480)] polygon(point_list=points) points2 = [Point(p.x + 20, p.y + 20) for p in points] lines(point_list=points2, color=COLOR_DARK_ORANGE) line(start_point=Point(x=20, y=20), end_point=Point(x=40, y=300)) square(left_bottom=Point(400, 300, ), side=100) rectangle( left_bottom=Point(x=200, y=200), right_top=Point(x=300, y=300), color=COLOR_DARK_GREEN ) rectangle( left_bottom=Point(x=400, y=300), right_top=Point(x=300, y=400), color=COLOR_DARK_GREEN ) sleep(2) clear_screen() vector(start=Point(x=230, y=260), angle=70, length=200, color=COLOR_PURPLE) for i in range(10): point = random_point() color = random_color() radius = random_number(20, 60) circle(center_position=point, radius=radius, color=color, width=0) sleep(2) clear_screen() for i in range(10): point = random_point() color = random_color() dx = random_number(30, 100) dy = random_number(30, 100) right_top = Point(x=point.x + dx, y=point.y + dy) ellipse(left_bottom=point, right_top=right_top, color=color) v3 = Vector(start_point=Point(0, 0), direction=45, length=50) for direction in range(0, 181, 20): v = Vector(start_point=Point(x=300, y=300), direction=direction, length=100) v.draw() v2 = Vector(start_point=v.end_point, direction=direction + 30, length=50) v2.draw(color=COLOR_GREEN) v2.add(v3) v2.draw(color=COLOR_ORANGE) snowflake(center=Point(), length=60, factor_b=0.2, factor_c=100) sleep(2) for k in range(2): y = 500 for i in range(10): clear_screen() y -= 30 for x in [100, 200, 300, 400, 500]: radius = random_number(30, 50) point = Point(x=x, y=y) snowflake(center=point, length=radius) mouse_point, mouse_buttons = get_mouse_state() print("mouse_state is {} + {}".format(mouse_point, mouse_buttons)) if user_want_exit(sleep_time=0.1): break if user_want_exit(0): break
def house(): point_list_1 = [] point_list_1.append(sd.get_point(230, 380)) point_list_1.append(sd.get_point(475, 480)) point_list_1.append(sd.get_point(720, 380)) left_bot = sd.get_point(0, 0) right_top = sd.get_point(1200, 80) start_point = sd.get_point(250, 80) end_point = sd.get_point(700, 80) end_point_1 = sd.get_point(700, 380) sd.rectangle(left_bottom=left_bot, right_top=right_top, color=sd.COLOR_DARK_ORANGE, width=0) # Земля v1 = sd.vector(start=start_point, angle=90, length=300, color=sd.COLOR_YELLOW, width=2) v2 = sd.vector(start=end_point, angle=90, length=300, color=sd.COLOR_YELLOW, width=2) v3 = sd.vector(start=end_point_1, angle=180, length=450, color=sd.COLOR_YELLOW, width=2) v4 = sd.vector(start=start_point, angle=0, length=450, color=sd.COLOR_YELLOW, width=2) wall(x_start=300, x_end=650, y_start=80, y_end=380, color=sd.COLOR_YELLOW) sd.square(left_bottom=sd.get_point(400, 145), side=150, color=sd.background_color, width=0) sd.square(left_bottom=sd.get_point(400, 145), side=150, color=sd.COLOR_YELLOW, width=2) sd.polygon(point_list=point_list_1, color=sd.COLOR_RED, width=0)
def first_screen(): points = [ sd.Point(x=230, y=450), sd.Point(x=240, y=460), sd.Point(x=230, y=470), sd.Point(x=240, y=480), ] sd.polygon(point_list=points) points2 = [sd.Point(p.x + 20, p.y + 20) for p in points] sd.lines(point_list=points2, color=sd.COLOR_DARK_ORANGE, width=2) sd.line(start_point=sd.Point(x=20, y=20), end_point=sd.Point(x=40, y=300), width=2) sd.square(left_bottom=sd.Point( 400, 300, ), side=100, width=2) sd.rectangle( left_bottom=sd.Point(x=200, y=200), right_top=sd.Point(x=300, y=300), color=sd.COLOR_DARK_GREEN, width=2, ) sd.rectangle( left_bottom=sd.Point(x=400, y=300), right_top=sd.Point(x=300, y=400), color=sd.COLOR_DARK_GREEN, width=2, ) if TAKE_SNAPSHOTS: sd.take_snapshot(path=SNAPSHOTS_PATH)
def window(): sd.square(left_bottom=point_frame_window, side=110, color=sd.COLOR_ORANGE, width=5) sd.square(left_bottom=point_window, side=100, color=sd.COLOR_WHITE, width=0)
def sun(counter): if counter % 3: sun_clear = sd.get_point(000, 600) sd.square(sun_clear, side=220, color=sd.background_color, width=0) sun1() else: sun_clear = sd.get_point(000, 600) sd.square(sun_clear, side=220, color=sd.background_color, width=0) sun2()
def window_and_roof(): points_for_roof = [ sd.Point(350, 250), sd.Point(750, 250), sd.Point(550, 330) ] sd.lines(points_for_roof, width=0, closed=True) sd.rectangle(sd.Point(500, 110), sd.Point(600, 210), width=0) sd.polygon(points_for_roof, color=sd.COLOR_RED, width=0) sd.square(sd.Point(500, 110), 100, color=sd.COLOR_BLACK, width=4)
def house(): # рисуем дом с окном, без крыши, раскрашиваем в кирпич house_x = 220 house_y = 10 ground_start_x = 0 ground_start_y = 0 ground_finish_x = 1200 ground_finish_y = 50 start_house_point = sd.get_point(house_x, house_y) start_ground_point = sd.get_point(ground_start_x, ground_start_y) finish_ground_point = sd.get_point(ground_finish_x, ground_finish_y) sd.rectangle(start_ground_point, finish_ground_point, sd.COLOR_GREEN, width=0) sd.square(left_bottom=start_house_point, side=350, color=sd.COLOR_DARK_ORANGE, width=0) sd.square(left_bottom=start_house_point, side=350, color=sd.COLOR_WHITE, width=2) def draw_briks(start, finish): for house_x in range(start, finish, 50): start_point = sd.get_point(house_x, house_y) end_point = sd.get_point(house_x + 50, house_y + 25) sd.rectangle(start_point, end_point, color=sd.COLOR_WHITE, width=2) for row, house_y in enumerate(range(10, 350, 25)): if row % 2 != 0: draw_briks(220, 570) else: draw_briks(245, 545) window_x = 300 window_y = 85 start_window_point = sd.get_point(window_x, window_y) sd.square(left_bottom=start_window_point, side=200, color=sd.COLOR_BLUE, width=0) sd.square(left_bottom=start_window_point, side=200, color=sd.COLOR_WHITE, width=2) # рисуем треугольную крышу дома roof_point = (sd.get_point(220, 360), sd.get_point(570, 360), sd.get_point(395, 500)) sd.polygon(roof_point, color=sd.COLOR_DARK_RED, width=0)
def house(): # roof point_list = [sd.get_point(350, 237), sd.get_point(695, 237), sd.get_point(520, 338), sd.get_point(350, 238)] sd.polygon(point_list=point_list, color=sd.COLOR_DARK_ORANGE, width=0) # window window_point = sd.get_point(465, 72) sd.square(left_bottom=window_point, side=110, color=sd.COLOR_WHITE, width=0) # outside walls square_point = sd.get_point(400, -5) sd.square(left_bottom=square_point, side=240, color=sd.COLOR_WHITE, width=1) # wall brick_x = 40 brick_y = 20 for row, y in enumerate(range(0, 220, 18)): x0 = 400 if row % 2 == 0 else 420 for x in range(x0, 620, 40): left_bottom = sd.get_point(x, y) right_top = sd.get_point(x + brick_x, y + brick_y) sd.rectangle(left_bottom, right_top, color=sd.COLOR_WHITE, width=1)
def house(color, start_x, start_y, side_y_size, side_x_size, brick_x_size, brick_y_size, width): import simple_draw as sd from village import wall # вызываем стену wall.wall(color=color, start_x=start_x, start_y=start_y, side_y_size=side_y_size, side_x_size=side_x_size, brick_x_size=brick_x_size, brick_y_size=brick_y_size, width=width) house_length = wall.wall_length[0] end_y_wall = wall.wall_length[1] # рисуем крышу point_1 = sd.get_point(x=start_x, y=end_y_wall + brick_y_size) point_2 = sd.get_point(x=start_x + house_length * .3, y=side_y_size + +brick_y_size * 3) point_3 = sd.get_point(x=house_length, y=end_y_wall + brick_y_size) point_list = [point_1, point_2, point_3] sd.polygon(point_list=point_list, color=sd.COLOR_DARK_RED, width=0) # рисуем окно window_point = sd.get_point(x=side_x_size / 1.5, y=side_y_size / 2) sd.square(left_bottom=window_point, side=side_y_size / 3, color=sd.COLOR_WHITE, width=0) # рисуем землю point_1 = sd.get_point(x=0, y=0) point_2 = sd.get_point(x=0, y=100) point_3 = sd.get_point(x=sd.resolution[0], y=100) point_4 = sd.get_point(x=sd.resolution[0], y=0) point_list = [point_1, point_2, point_3, point_4] sd.polygon(point_list=point_list, color=sd.COLOR_DARK_ORANGE, width=0)
def house(): left_bottom = sd.get_point(375, 0) sd.square(left_bottom, side=350, color=sd.COLOR_DARK_RED, width=0) for row, y in enumerate(range(0, 350, 25)): x0 = 0 if row % 2 else -25 # Как вам такой приём? :) x1 = x0 + 400 for x in range(x1, 700, 50): point1 = sd.get_point(x, y) point2 = sd.get_point(x + 50, y + 25) brick = sd.rectangle(point1, point2, width=1, color=(127, 127, 127)) left_bottom = sd.get_point(475, 125) sd.square(left_bottom, side=150, color=sd.COLOR_BLACK, width=0) point1 = sd.get_point(350, 350) point2 = sd.get_point(550, 450) point3 = sd.get_point(750, 350) point_list = point1, point2, point3 sd.polygon(point_list, color=sd.COLOR_DARK_ORANGE, width=0)
coord_x = 300 coord_y = 100 start_point = sd.get_point(coord_x - 3, coord_y) paint_wall.square(start_point=start_point, angle=0, length=211, color=color_home) paint_wall.wall(coord_x=coord_x, coord_y=coord_y, height=201) start_point = sd.get_point(coord_x - 1, coord_y + 211) paint_wall.triangle(start_point=start_point, angle=0, length=211, color=color_home) start_point = sd.get_point(coord_x + 51, coord_y + 51) sd.square(left_bottom=start_point, side=103, color=sd.background_color, width=0) paint_wall.square(start_point=start_point, angle=0, length=101, color=color_home) paint_smile.smile(x=coord_x + 101, y=coord_y + 101, size=0.5, color=sd.COLOR_CYAN) # - справа от дома - дерево root_point = sd.get_point(900, 30) paint_fractal.draw_branches_v2(start_point=root_point, angle=90, length=100) # - справа в небе - радуга, слева - солнце (весна же!)
def sky(start_y): color = (216, 243, 246) point = sd.get_point(x=0, y=start_y) sd.square(left_bottom=point, side=1200, color=color, width=0)
def window(start_x, length, height): point = sd.get_point(start_x + (length / 3), height / 4) sd.square(left_bottom=point, side=length / 3, color=sd.COLOR_WHITE, width=0)
end_point=sd.get_point(902, 421), color=sd.COLOR_DARK_RED, width=2) # top of house sd.line(start_point=sd.get_point(300, 420), end_point=sd.get_point(900, 420), color=sd.COLOR_RED, width=3) # roof sd.line(start_point=sd.get_point(300, 420), end_point=sd.get_point(600, 620), color=sd.COLOR_RED, width=3) sd.line(start_point=sd.get_point(600, 620), end_point=sd.get_point(900, 420), color=sd.COLOR_RED, width=3) # window sd.square(left_bottom=sd.get_point(543, 152), side=116, color=sd.COLOR_RED, width=6) sd.square(left_bottom=sd.get_point(543, 152), side=116, color=sd.COLOR_ORANGE, width=0) # sd.pause()
def square(left_bottom, side, color, width): sd.square(left_bottom=left_bottom, side=side, color=color, width=width)
def cell(x, y): cell_point = sd.get_point(x, y) sd.square(left_bottom=cell_point, side=side, color=color, width=filling_cell)
def frame(): sd.square(left_bottom=sd.get_point(x=side * 2, y=side), side=side * 8, color=sd.COLOR_WHITE, width=4)
def draw_window(start_point, length): sd.square(left_bottom=start_point, side=length, width=0, color=sd.background_color) sd.square(left_bottom=start_point, side=length, width=1)
# визуализировать функцию f(n) на плоскости c шагом 10 # вычислить остаток от целочисленного деления на 7 и отобразить цветом из набора # 0 -> COLOR_DARK_RED # 1 -> COLOR_DARK_ORANGE # 2 -> COLOR_DARK_YELLOW # 3 -> COLOR_DARK_GREEN # 4 -> COLOR_DARK_CYAN # 5 -> COLOR_DARK_BLUE # 6 -> COLOR_DARK_PURPLE # остаток от деления: 5 % 2 -> 1 from simple_draw import square, end, COLOR_DARK_PURPLE, Point def f(x, y): return x / (y - 1) for x in range(0, 600, 10): for y in range(0, 600, 10): z = f(x, y) color = ... square(left_bottom=Point(x, y), side=10, color=color) # ++ попробовать другие функции x+y, x*y, x**2 + y**2, etc # ++ с разным шагом end()
def tree(): tree_clear = sd.get_point(700, 0) sd.square(tree_clear, side=550, color=sd.background_color, width=0) root_point = sd.get_point(900, 30) color = sd.COLOR_DARK_YELLOW draw_bunches(start_point=root_point, angle=90, length=80, color=color)