This commit is contained in:
2026-03-18 11:13:18 +03:00
parent e5abb2f048
commit 635d87fbcc
2 changed files with 103 additions and 0 deletions

102
lab3/rabbit.py Normal file
View File

@@ -0,0 +1,102 @@
import pygame
from pygame.draw import *
pygame.init()
FPS = 30
screen = pygame.display.set_mode((400, 400))
# Рисуем зайца
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_head(surface, x, y, size, color):
'''
Рисует голову зайца.
surface - объект pygame.Surface
x, y - координаты центра изображения
size - диаметр головы
color - цвет, заданный в формате, подходящем для pygame.Color
'''
circle(surface, color, (x, y), size // 2)
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_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_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 // 2
draw_body(surface, x, body_y, body_width, body_height, color)
# Рисуем голову
head_size = height // 4
draw_head(surface, x, y - head_size // 2, head_size, color)
# Рисуем уши
ear_height = height // 3
ear_y = y - height // 2 + ear_height // 2
for ear_x in (x - head_size // 4, x + head_size // 4):
draw_ear(surface, ear_x, ear_y, width // 8, ear_height, color)
# Рисуем ноги
leg_height = height // 16
leg_y = y + height // 2 - leg_height // 2
for leg_x in (x - width // 4, x + width // 4):
draw_leg(surface, leg_x, leg_y, width // 4, leg_height, color)
# Добавляем глазки
eye_size = head_size // 8
eye_y = y - head_size // 2 - head_size // 8
for eye_x in (x - head_size // 6, x + head_size // 6):
circle(surface, pygame.Color('black'), (eye_x, eye_y), eye_size)
# Заливаем фон
screen.fill(pygame.Color('white'))
# Рисуем зайца в центре экрана
draw_hare(screen, 200, 200, 200, 300, pygame.Color('gray'))
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()

1
test.txt Normal file
View File

@@ -0,0 +1 @@
tests