From 4e91375baead45accf866ff1f8d8b6c04122fd9c Mon Sep 17 00:00:00 2001 From: vlitvintseva <24_LitvintsevaVD@iux.local> Date: Wed, 1 Apr 2026 00:09:44 +0300 Subject: [PATCH] 1 --- egr.py | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100755 egr.py diff --git a/egr.py b/egr.py new file mode 100755 index 0000000..c554da5 --- /dev/null +++ b/egr.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 +import pygame +from pygame.draw import * +import math + +pygame.init() + +FPS = 30 +screen = pygame.display.set_mode((900, 900)) + +# 1) Цвета +WHITE = (255, 255, 255) +GRAY = (230, 230, 230) +DARK_GRAY = (180, 180, 180) +PINK = (255, 210, 210) +NOSE = (255, 120, 120) +BLACK = (0, 0, 0) + +# 2) Координаты центра +cx = 450 +cy = 420 + +def draw_body(surface, x, y): + """Рисует тело зайца""" + ellipse(surface, GRAY, (x - 150, y, 300, 220)) + ellipse(surface, DARK_GRAY, (x - 80, y + 80, 160, 100)) + +def draw_head(surface, x, y): + """Рисует голову зайца""" + circle(surface, GRAY, (x, y - 120), 120) + +def draw_left_ear(surface, x, y): + """Рисует левое ухо""" + ellipse(surface, GRAY, (x - 90, y - 420, 70, 260)) + ellipse(surface, PINK, (x - 70, y - 400, 30, 200)) + +def draw_right_ear(surface, x, y): + """Рисует правое ухо""" + ellipse(surface, GRAY, (x + 20, y - 420, 70, 260)) + ellipse(surface, PINK, (x + 40, y - 400, 30, 200)) + +def draw_left_eye(surface, x, y): + """Рисует левый глаз""" + eye_y = y - 150 + circle(surface, BLACK, (x - 45, eye_y), 12) + circle(surface, WHITE, (x - 50, eye_y - 5), 4) + +def draw_right_eye(surface, x, y): + """Рисует правый глаз""" + eye_y = y - 150 + circle(surface, BLACK, (x + 45, eye_y), 12) + circle(surface, WHITE, (x + 40, eye_y - 5), 4) + +def draw_nose(surface, x, y): + """Рисует нос и возвращает его координату y""" + ny = y - 90 + polygon(surface, NOSE, [ + (x, ny), + (x - 12, ny + 14), + (x + 12, ny + 14) + ]) + return ny + +def draw_mouth(surface, x, ny): + """Рисует рот""" + line(surface, BLACK, (x, ny + 14), (x, ny + 28), 2) + arc(surface, BLACK, (x - 30, ny + 20, 30, 20), math.pi, 2 * math.pi, 2) + arc(surface, BLACK, (x, ny + 20, 30, 20), math.pi, 2 * math.pi, 2) + +def draw_left_whiskers(surface, x, ny): + """Рисует левые усы""" + for angle in [-10, 0, 10]: + rad = math.radians(angle) + x1 = x - 10 + y1 = ny + 10 + x2 = x - (10 + 120 * math.cos(rad)) + y2 = ny + 10 + 40 * math.sin(rad) + line(surface, BLACK, (x1, y1), (x2, y2), 2) + +def draw_right_whiskers(surface, x, ny): + """Рисует правые усы""" + for angle in [-10, 0, 10]: + rad = math.radians(angle) + x1 = x + 10 + y1 = ny + 10 + x2 = x + (10 + 120 * math.cos(rad)) + y2 = ny + 10 + 40 * math.sin(rad) + line(surface, BLACK, (x1, y1), (x2, y2), 2) + +def draw_left_front_paw(surface, x, y): + """Рисует левую переднюю лапу""" + ellipse(surface, GRAY, (x - 120, y + 160, 90, 50)) + +def draw_right_front_paw(surface, x, y): + """Рисует правую переднюю лапу""" + ellipse(surface, GRAY, (x + 30, y + 160, 90, 50)) + +def draw_left_hind_paw(surface, x, y): + """Рисует левую заднюю лапу""" + ellipse(surface, GRAY, (x - 180, y + 200, 120, 70)) + +def draw_right_hind_paw(surface, x, y): + """Рисует правую заднюю лапу""" + ellipse(surface, GRAY, (x + 60, y + 200, 120, 70)) + +def draw_tail(surface, x, y): + """Рисует хвост""" + circle(surface, GRAY, (x + 160, y + 80), 30) + +def draw_shadow(surface, x, y): + """Рисует тень""" + ellipse(surface, (200, 200, 200), (x - 200, y + 220, 400, 60)) + +def draw_hare(surface, x, y): + """Основная функция, рисующая всего зайца""" + # Сначала тень (на заднем плане) + draw_shadow(surface, x, y) + + # Тело и голова + draw_body(surface, x, y) + draw_head(surface, x, y) + + # Уши + draw_left_ear(surface, x, y) + draw_right_ear(surface, x, y) + + # Глаза + draw_left_eye(surface, x, y) + draw_right_eye(surface, x, y) + + # Нос и рот + ny = draw_nose(surface, x, y) + draw_mouth(surface, x, ny) + + # Усы + draw_left_whiskers(surface, x, ny) + draw_right_whiskers(surface, x, ny) + + # Лапы + draw_left_front_paw(surface, x, y) + draw_right_front_paw(surface, x, y) + draw_left_hind_paw(surface, x, y) + draw_right_hind_paw(surface, x, y) + + # Хвост + draw_tail(surface, x, y) + + +# Рисуем зайца +screen.fill(WHITE) +draw_hare(screen, cx, cy) + +pygame.display.update() +clock = pygame.time.Clock() +finished = False + +while not finished: + clock.tick(FPS) + for event in pygame.event.get(): + if event.type == pygame.QUIT: + finished = True + +pygame.quit()