import pygame from pygame.draw import * pygame.init() FPS = 30 screen = pygame.display.set_mode((400, 400)) # Используемые цвета BLACK = (0, 0, 0) WHITE = (255, 255, 255) PINK = (255, 200, 200) DARK_PINK = (255, 150, 150) LIGHT_GREEN = (220, 255, 220) BROWN = (180, 130, 80) DARK_BROWN = (160, 110, 60) # Определяем функции для рисования частей зайца def draw_body(surface, x, y, width, height, color): # Функция рисует тело зайца ''' Рисует тело зайца. surface - объект pygame.Surface x, y - координаты центра изображения width, height - ширина и высота изображения color - цвет, заданный в формате, подходящем для pygame.Color ''' ellipse(surface, color, (x - width // 2, y - height // 2, width, height)) def draw_ear(surface, x, y, width, height, color): # Фуекция рисует уши ''' Рисует ухо зайца. surface - объект pygame.Surface x, y - координаты центра изображения width, height - ширина и высота изображения color - цвет, заданный в формате, подходящем для pygame.Color ''' ellipse(surface, color, (x - width // 2, y - height // 2, width, height)) def draw_head(surface, x, y, size, color): # Функция рисует голову ''' Рисует голову зайца. surface - объект pygame.Surface x, y - координаты центра изображения size - диаметр головы color - цвет, заданный в формате, подходящем для pygame.Color ''' circle(surface, color, (x, y), size // 2) def draw_leg(surface, x, y, width, height, color): # Функци ярисует задние ноги ''' Рисует ногу зайца. surface - объект pygame.Surface x, y - координаты центра изображения width, height - ширина и высота изображения color - цвет, заданный в формате, подходящем для pygame.Color ''' ellipse(surface, color, (x - width // 2, y - height // 2, width, height)) def draw_eyes(surface, x, y, size): ''' Рисует глаза зайца. surface - объект pygame.Surface x, y - координаты центра головы size - размер головы ''' eye_size = size // 8 # Белки глаз circle(surface, WHITE, (x - size // 5, y - size // 8), eye_size // 1.5) circle(surface, WHITE, (x + size // 5, y - size // 8), eye_size // 1.5) # Зрачки circle(surface, BLACK, (x - size // 5, y - size // 8), eye_size // 3) circle(surface, BLACK, (x + size // 5, y - size // 8), eye_size // 3) # Нос circle(surface, DARK_PINK, (x, y + size // 10), eye_size // 2) def draw_hare(surface, x, y, width, height, color): ''' Рисует зайца на экране. surface - объект pygame.Surface x, y - координаты центра изображения width, height - ширина и высота изображения color - цвет, заданный в формате, подходящем для pygame.Color ''' # Тело body_width = width // 2 body_height = height // 2 body_y = y + body_height // 4 draw_body(surface, x, body_y, body_width, body_height, color) # Голова_1 (рисуем первый раз, чтобы примерить на неё уши) head_size = height // 3 draw_head(surface, x, y - head_size // 2, head_size, color) # Уши (рисуем после головы, но до глаз) ear_height = height // 3 ear_y = y - height // 2 + ear_height // 2 ear_width = width // 10 for ear_x in (x - head_size // 4, x + head_size // 4): draw_ear(surface, ear_x, ear_y, ear_width, ear_height, color) # Добавим внутреннюю часть уха (розовую) draw_ear(surface, ear_x, ear_y + 3, ear_width // 2, ear_height // 1.5, PINK) # Голова_2 (рисуем второй раз, чтобы закрыть часть ушей) head_size = height // 3 draw_head(surface, x, y - head_size // 2, head_size, color) # Глаза draw_eyes(surface, x, y - head_size // 2, head_size) # Задние лапы back_leg_height = height // 10 back_leg_y = y + height // 3 back_leg_width = width // 3 for leg_x in (x - width // 5, x + width // 5): draw_leg(surface, leg_x, back_leg_y, back_leg_width, back_leg_height, color) # Передние лапы front_leg_height = height // 4 front_leg_y = y + height // 12 front_leg_width = width // 7 # Левая передняя лапа draw_leg(surface, x - width // 5, front_leg_y, front_leg_width, front_leg_height, color) # Правая передняя лапа draw_leg(surface, x + width // 5, front_leg_y, front_leg_width, front_leg_height, color) # Маленькие лапки(передние лапы) foot_color = DARK_BROWN foot_width = front_leg_width // 1.2 foot_height = front_leg_height // 4 draw_leg(surface, x - width // 5, front_leg_y + front_leg_height // 1.8, foot_width, foot_height, foot_color) draw_leg(surface, x + width // 5, front_leg_y + front_leg_height // 1.8, foot_width, foot_height, foot_color) # Основная программа # Очищаем экран светло-зеленым фоном (как травка) screen.fill(LIGHT_GREEN) # Рисуем зайца в центре экрана draw_hare(screen, 200, 200, 240, 380, BROWN) 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()