TypeError: Invalid rect, all 4 fields must be numeric помогите исправить. import random import pygame
Дата публикации:

TypeError: Invalid rect, all 4 fields must be numeric помогите исправить. import random import pygame


TypeError: Invalid rect, all 4 fields must be numeric помогите исправить. import random import pygame clock = pygame.time.Clock() pygame.init() skreen = pygame.display.set_mode((1300, 916)) pygame.display.set_caption("game") bg = pygame.image.load('pic/дом2.jpg') gamerx = 330 gamery = 700 gamers = 5 rux = 315 ruy = 680 rdx = 315 rdy = 715 rrx = 310 rry = 685 rlx = 345 rly = 685 W = True a = random.randint(1, 3) if a == 1: pygame.draw.circle (skreen, 'Red', (200, 300), 25) if a == 2: pygame.draw.circle (skreen, 'Red', (1200, 300), 25) if a == 3: pygame.draw.circle (skreen, 'Red', (1090, 100), 25) print(a) game = True while game: for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: game = False skreen.blit(bg, (0, 0)) r_bg = (pygame.draw.rect(skreen, 'Red', (65, 193, 330, 15)), pygame.draw.rect(skreen, 'Red', (65, 130, 15, 659)), pygame.draw.rect(skreen, 'Red', (65, 773, 213, 15)), pygame.draw.rect(skreen, 'Red', (65, 128, 1170, 15)), pygame.draw.rect(skreen, 'Red', (1092, 128, 15, 465)), pygame.draw.rect(skreen, 'Red', (1235, 128, 15, 660)), pygame.draw.rect(skreen, 'Red', (378, 773, 860, 15)), pygame.draw.rect(skreen, 'Red', (1030, 580, 150, 15)), pygame.draw.rect(skreen, 'Red', (1093, 510, 95, 15)), pygame.draw.rect(skreen, 'Red', (1093, 447, 95, 15)), pygame.draw.rect(skreen, 'Red', (1093, 385, 95, 15)), pygame.draw.rect(skreen, 'Red', (1025, 385, 15, 200)), pygame.draw.rect(skreen, 'Red', (965, 575, 15, 210)), pygame.draw.rect(skreen, 'Red', (515, 130, 15, 270)), ) gamerru = pygame.draw.rect(skreen, 'Blue', (rux, ruy, 30, 5)) gamerrd = pygame.draw.rect(skreen, 'Blue', (rdx, rdy, 30, 5)) gamerrr = pygame.draw.rect(skreen, 'Blue', (rrx, rry, 5, 30)) gamerlr = pygame.draw.rect(skreen, 'Blue', (rlx, rly, 5, 30)) gamer = pygame.draw.circle (skreen, 'white', (gamerx, gamery), 20) keys = pygame.key.get_pressed() if keys[pygame.K_w] and gamery >= 165 and W: gamery -= gamers ruy -= gamers rdy -= gamers rry -= gamers rly -= gamers if keys[pygame.K_s] and gamery <= 750: gamery += gamers ruy += gamers rdy += gamers rry += gamers rly += gamers if keys[pygame.K_a] and gamerx >= 105: gamerx -= gamers rux -= gamers rdx -= gamers rrx -= gamers rlx -= gamers if keys[pygame.K_d] and gamerx <= 1210: gamerx += gamers rux += gamers rdx += gamers rrx += gamers rlx += gamers if gamerru.colliderect(r_bg): W = False pygame.display.update() clock.tick(30)

The error message "TypeError: Invalid rect, all 4 fields must be numeric" is indicating that there is an issue with the parameters you are passing to the pygame.draw.rect() function.

Looking at your code, it seems that the issue is with the coordinates you are providing for the rectangles. Make sure that all the coordinates (x, y, width, height) are numeric values.

In your code, you have the following line:

r_bg = (pygame.draw.rect(skreen, 'Red', (65, 193, 330, 15)),

Check if all the values (65, 193, 330, 15) are numeric. If any of them are not numeric, you will need to fix them.