TypeError: argument 1 must be pygame.Surface, not bool

Я попытался создать простую стрелялку карандашами, но здесь... какая-то ошибка...

    if x1 > x2-db1 and x1 < x2+db2 and y1 > y2-db1 and y1 < y2+db2:
        return 1
    else:
        return 0

import pygame
        
pygame.init()

window = pygame.display.set_mode((1000, 690))

screen = pygame.Surface((1000, 690))

player = pygame.Surface((60, 60))

zet = pygame.Surface((60, 60))

arrow = pygame.Surface((20, 40))

maks = pygame.Surface((60, 60))

seva = pygame.Surface((60, 60))

igor = pygame.Surface((60, 60))

kira = pygame.Surface((60, 60))

stas = pygame.Surface((60, 60))


count = 0

img_a = pygame.image.load('arrow.png')
img_p = pygame.image.load('player.png')
img_z = pygame.image.load('zet.png')

myfont = pygame.font.SysFont('monospace', 15)

a_x = 1000
a_y = 1000

strike = False 

z_x = 0
z_y = 0

x_p = 0
y_p = 640

m_x = 0
m_y = 70

s_x = 0
s_y = 140

i_x = 0
i_y = 210

k_x = 0
k_y = 280

st_x = 0
st_y = 350

z_right = True

m_right = True

s_right = True

i_right = True

k_right = True

st_right = True

done = False

while done == False:
    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            done = True
        keys = pygame.key.get_pressed()
        if keys[pygame.K_w]:
            y_p -= 5
        if keys[pygame.K_s]:
            y_p += 5
        if keys[pygame.K_a]:
            x_p -= 5
        if keys[pygame.K_d]:
            x_p += 5
        if e.type == pygame.KEYDOWN and e.key == pygame.K_SPACE:
            if strike == False:
                strike = True
                a_x = x_p
                a_y = y_p - 40



    if strike:
        a_y -= 1.5
        if a_y < 0:
            strike = False
            a_y = 1000
            a_x = 1000

    if inter(a_x, a_y, z_x, z_y, 20, 40):
        count += 1
        strike = False
        a_y = 1000
        a_x = 1000

    
    if inter(a_x, a_y, s_x, s_y, 20, 40):
        count += 1
        strike = False
        a_y = 1000
        a_x = 1000

    if inter(a_x, a_y, i_x, i_y, 20, 40):
        count += 1
        strike = False
        a_y = 1000
        a_x = 1000

    if inter(a_x, a_y, m_x, m_y, 20, 40):
        count += 1
        strike = False
        a_y = 1000
        a_x = 1000

    if inter(a_x, a_y, k_x, k_y, 20, 40):
        count += 1
        strike = False
        a_y = 1000
        a_x = 1000

    if inter(a_x, a_y, st_x, st_y, 20, 40):
        count += 1
        strike = False
        a_y = 1000
        a_x = 1000

    if z_right:
        z_x += 1
        if z_x > 960:
            z_x -=1
            z_right = False
    else:
        z_x -=1
        if z_x < 0:
            z_x += 1
            z_right = True
            

    if m_right:
        m_x += 1.5
        if m_x > 960:
            m_x -=1.5
            m_right = False
    else:
        m_x -=1.5
        if m_x < 0:
            m_x += 1.5
            m_right = True
            

    if s_right:
        s_x += 4
        if s_x > 960:
            s_x -=4
            s_right = False
    else:
        s_x -=4
        if s_x < 0:
            s_x += 4
            s_right = True
            

    if i_right:
        i_x += 3
        if i_x > 960:
            i_x -=3
            i_right = False
    else:
        i_x -=3
        if i_x < 0:
            i_x += 3
            i_right = True

            
    if k_right:
        k_x += 2
        if k_x > 960:
            k_x -=2
            k_right = False
    else:
        k_x -=2
        if k_x < 0:
            k_x += 2
            k_right = True
            

    if st_right:
        st_x += 2.5
        if st_x > 960:
            st_x -=2.5
            st_right = False
    else:
        st_x -=2.5
        if st_x < 0:
            st_x += 2.5
            st_right = True

    string = myfont.render('Счёт: '+str(count), 0, (255,0,0))
    string_go = myfont.render('Победа', 0, (255,0,0))
    string_go = False

    if count > 50:
        string_go = True

    screen.fill((0,225,0))
    arrow.blit(img_a, (0, 0))
    player.blit(img_p, (0, 0))
    zet.blit(img_z, (0, 0))
    screen.blit(string, (0, 430))
    screen.blit(string_go, (0, 450))
    screen.blit(arrow, (a_x, a_y))
    screen.blit(zet, (z_x, z_y))
    screen.blit(player, (x_p, y_p))
    screen.blit(maks, (m_x, m_y))
    screen.blit(seva, (s_x, s_y))
    screen.blit(igor, (i_x, i_y))
    screen.blit(kira, (k_x, k_y))
    screen.blit(stas, (st_x, st_y))
    window.blit(screen, (0, 0))
    pygame.display.update()

pygame.quit()
exit()

Ранее Python работал с переменной string нормально. Он читал её, писал в программе. Честно говоря, он делает это и сейчас, но я создал новую переменную - string_go - и именно её он не читает. Вот текст ошибки:

Traceback (most recent call last):
  File "C:\game\main.py", line 228, in <module>
    screen.blit(string_go, (0, 450))
TypeError: argument 1 must be pygame.Surface, not bool

Что мне делать?


Ответы (0 шт):