#!/usr/bin/env python3 import pygame from pygame.draw import * import math pygame.init() FPS = 30 screen = pygame.display.set_mode((900, 900)) clock = pygame.time.Clock() # COLORS (через список) COLORS = [ (255, 255, 255), # 0 WHITE (230, 230, 230), # 1 GRAY (180, 180, 180), # 2 DARK_GRAY (255, 210, 210), # 3 PINK (255, 120, 120), # 4 NOSE (0, 0, 0) # 5 BLACK ] WHITE, GRAY, DARK_GRAY, PINK, NOSE, BLACK = COLORS cx, cy = 450, 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_ears(surface, x, y): ellipse(surface, GRAY, (x - 90, y - 420, 70, 260)) ellipse(surface, GRAY, (x + 20, y - 420, 70, 260)) ellipse(surface, PINK, (x - 70, y - 400, 30, 200)) ellipse(surface, PINK, (x + 40, y - 400, 30, 200)) def draw_eyes(surface, x, y): eye_y = y - 150 circle(surface, BLACK, (x - 45, eye_y), 12) circle(surface, BLACK, (x + 45, eye_y), 12) circle(surface, WHITE, (x - 50, eye_y - 5), 4) circle(surface, WHITE, (x + 40, eye_y - 5), 4) def draw_nose(surface, x, 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_whiskers(surface, x, ny): for side in [-1, 1]: for angle in [-10, 0, 10]: rad = math.radians(angle) x1 = x + side * 10 y1 = ny + 10 x2 = x + side * (10 + 120 * math.cos(rad)) y2 = ny + 10 + 40 * math.sin(rad) line(surface, BLACK, (x1, y1), (x2, y2), 2) def draw_paws(surface, x, y): ellipse(surface, GRAY, (x - 120, y + 160, 90, 50)) ellipse(surface, GRAY, (x + 30, y + 160, 90, 50)) ellipse(surface, GRAY, (x - 180, y + 200, 120, 70)) 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_ears(surface, x, y) draw_eyes(surface, x, y) ny = draw_nose(surface, x, y) draw_mouth(surface, x, ny) draw_whiskers(surface, x, ny) draw_paws(surface, x, y) draw_tail(surface, x, y) screen.fill(WHITE) draw_hare(screen, cx, cy) pygame.display.update() running = True while running: clock.tick(FPS) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.quit()