Питон нужна помощь
1. Создай игровую сцену с размерами 500х500. Задай ей фоновый цвет с помощью палитры RGB.
2. Создай игровой таймер (pygame.time.Clock()). Затем создай заготовку игрового цикла и настрой комфортную частоту смены кадров (например, 40).
3. Создай класс Area («цветной прямоугольник»):
— поля класса: прямоугольник и фоновый цвет;
— методы класса: установить цвет, заполнить цветом, задать обводку цветом.
4. Создай класс Label как наследника от Area («прямоугольник с надписью»):
— методы класса: установить текст, отрисовать прямоугольник с надписью.
5. Создай и отобрази набор из 4 карточек. Для каждой карточки нужно создать объект Label и задать текст и обводку.
Как здесь создать карточки?
Ислам, привет)
Держи код:
import pygame
import sys
pygame.init()
width, height = 500, 500
screen = pygame.display.set_mode((width, height))
background_color = (150, 150, 255)
# Игровой таймер
clock = pygame.time.Clock()
fps = 40
class Area:
def __init__(self, x, y, width, height, color):
self.rect = pygame.Rect(x, y, width, height)
self.color = color
def set_color(self, color):
self.color = color
def fill(self):
pygame.draw.rect(screen, self.color, self.rect)
def draw_border(self, border_color, border_width=5):
pygame.draw.rect(screen, border_color, self.rect, border_width)
class Label(Area):
def __init__(self, x, y, width, height, color, text):
super().__init__(x, y, width, height, color)
self.text = text
self.font = pygame.font.Font(None, 24)
def set_text(self, text):
self.text = text
def draw(self):
self.fill()
text_surface = self.font.render(self.text, True, (0, 0, 0))
text_rect = text_surface.get_rect(center=self.rect.center)
screen.blit(text_surface, text_rect)
card_width, card_height = 100, 50
vertical_spacing = 20
horizontal_spacing = 20
start_x = (width - 2 * card_width - horizontal_spacing) // 2
start_y = (height - 2 * (card_height + vertical_spacing)) // 2
cards = [
Label(start_x, start_y, card_width, card_height, (255, 0, 0), "Карточка 1"),
Label(start_x + card_width + horizontal_spacing, start_y, card_width, card_height, (0, 255, 0), "Карточка 2"),
Label(start_x, start_y + card_height + vertical_spacing, card_width, card_height, (0, 0, 255), "Карточка 3"),
Label(start_x + card_width + horizontal_spacing, start_y + card_height + vertical_spacing, card_width, card_height, (255, 255, 0), "Карточка 4")
]
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill(background_color)
for card in cards:
card.draw()
card.draw_border((0, 0, 0))
pygame.display.flip()
clock.tick(fps)
pygame.quit()
sys.exit()
На выходе ты получишь такой результат)

ошибка в 40ой строке