Как сделать прыжок на pygame

import pygame
import random
pygame.init()

############################################################
FPS = 60
width = 500
height = 500
size = (width, height)
xCord = 250
yCord = 250
radius = 50
DRxCord = 1
DRyCord = 1
direct = DRxCord # 1 - Вправо | -1 - Влево
cours = DRyCord # 1 - Вниз | -1 - Вверх
clock = pygame.time.Clock()
jumpCount = 30
jump = jumpCount
#############################################################
pygame.display.set_caption("My first game")
surface = pygame.display.set_mode(size)
surface.fill((255, 255, 255))

pygame.display.update()

while True:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()

#############################################################

    keys = pygame.key.get_pressed()

    if keys[pygame.K_w]:
        yCord -= 3
    if keys[pygame.K_s]:
        yCord += 3
    if keys[pygame.K_a]:
        xCord -= 3
    if keys[pygame.K_d]:
        xCord += 3

##############################################################

    surface.fill((255, 255, 255))
    pygame.draw.circle(surface, (255, 0, 0), (xCord, yCord), radius)
    pygame.display.update()

    clock.tick(FPS)

Установить флаг и потом в течение какого-то числа итераций уменьшать y, потом увеличивать обратно, и убрать флаг.

Например как тут: https://techwithtim.net/tutorials/game-development-with-python/pygame-tutorial/jumping/

import pygame
import random
pygame.init()

############################################################
FPS = 60
width = 500
height = 500
size = (width, height)
xCord = 250
yCord = 250
radius = 50
DRxCord = 1
DRyCord = 1
direct = DRxCord # 1 - Вправо | -1 - Влево
cours = DRyCord # 1 - Вниз | -1 - Вверх
clock = pygame.time.Clock()
jumpCount = 10
isJump = False
#############################################################
pygame.display.set_caption("My first game")
surface = pygame.display.set_mode(size)
surface.fill((255, 255, 255))

pygame.display.update()

while True:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()

#############################################################

    keys = pygame.key.get_pressed()

    if keys[pygame.K_a]:
        xCord -= 3
    if keys[pygame.K_d]:
        xCord += 3
    if not(isJump): 
        if keys[pygame.K_UP]:
            y -= 3
        if keys[pygame.K_DOWN]:
            yCord += 3
        if keys[pygame.K_SPACE]:
            isJump = True
    else:
        if jumpCount >= -10:
            yCord -= (jumpCount * abs(jumpCount)) * 0.5
            jumpCount -= 1
        else: 
            jumpCount = 10
            isJump = False


##############################################################

    surface.fill((255, 255, 255))
    pygame.draw.circle(surface, (255, 0, 0), (xCord, yCord), radius)
    pygame.display.update()

    clock.tick(FPS)

Сделал так, но выдает ошибку при прыжке
pygame.draw.circle(surface, (255, 0, 0), (xCord, yCord), radius)
TypeError: integer argument expected, got float

Хм, странно, судя по документации должно и float принимать.

Как вариант можно просто обрезать до int:

pygame.draw.circle(surface, (255, 0, 0), (xCord, int(yCord)), radius)

Теперь вверх и вниз не двигается

K_UP/K_DOWN это стрелки, а не W/S.

Спасибо большое, все увидел.