import pygame
import sys

# Initialize Pygame and set up the display
pygame.init()
screen = pygame.display.set_mode((900, 700))

# Define colors
kirby_pink_color = (255, 105, 180)  # Kirby Pink
ground_color = (0, 255, 0)  # Green ground

# Circle properties (used for both Kirbys)
circle_radius = 25
crouch_scale = 0.5

# First Kirby properties
circle_x, circle_y = 425, 500
circle_x_speed, circle_y_speed = 0, 0
is_crouching = False
in_air = False

# Second Kirby properties
circle_x2, circle_y2 = 450, 500
circle_x_speed2, circle_y_speed2 = 0, 0
is_crouching2 = False
in_air2 = False

# Movement flags
is_moving_left, is_moving_right = False, False
is_moving_left2, is_moving_right2 = False, False

# Load the Kirby face image
kirby_face = pygame.image.load(“kirby_face.png”)

# Game loop setup
clock = pygame.time.Clock()
running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_s:
                is_crouching = True
            elif event.key == pygame.K_w and not in_air:
                circle_y_speed = -15
                in_air = True
            elif event.key == pygame.K_a:
                is_moving_left = True
            elif event.key == pygame.K_d:
                is_moving_right = True
            elif event.key == pygame.K_i:
                is_crouching2 = True
            elif event.key == pygame.K_o and not in_air2:
                circle_y_speed2 = -15
                in_air2 = True
            elif event.key == pygame.K_j:
                is_moving_left2 = True
            elif event.key == pygame.K_l:
                is_moving_right2 = True
        elif event.type == pygame.KEYUP:
            if event.key == pygame.K_s:
                is_crouching = False
            elif event.key == pygame.K_a:
                is_moving_left = False
            elif event.key == pygame.K_d:
                is_moving_right = False
            elif event.key == pygame.K_i:
                is_crouching2 = False
            elif event.key == pygame.K_j:
                is_moving_left2 = False
            elif event.key == pygame.K_l:
                is_moving_right2 = False

    # Apply gravity and movement for the first Kirby
    circle_y_speed += 1  # Simple gravity
    circle_x_speed = -5 if is_moving_left else 5 if is_moving_right else 0

    # Update position for the first Kirby
    circle_x += circle_x_speed
    circle_y = max(circle_y + circle_y_speed, circle_radius)

    # Handle ground collision for the first Kirby
    if circle_y + circle_radius >= 575:
        circle_y = 575 - circle_radius
        circle_y_speed = 0
        in_air = False

    # Apply the same mechanics for the second Kirby
    circle_y_speed2 += 1
    circle_x_speed2 = -5 if is_moving_left2 else 5 if is_moving_right2 else 0

    circle_x2 += circle_x_speed2
    circle_y2 = max(circle_y2 + circle_y_speed2, circle_radius)

    if circle_y2 + circle_radius >= 575:
        circle_y2 = 575 - circle_radius
        circle_y_speed2 = 0
        in_air2 = False

    # Clear screen
    screen.fill((100, 100, 255))

    # Draw ground
    pygame.draw.rect(screen, ground_color, (0, 575, 900, 125))

    # Draw both Kirbys
    def draw_kirby(x, y, is_crouching):
        if is_crouching:
            scaled_radius = int(circle_radius * crouch_scale)
            kirby_rect = pygame.Rect(x - circle_radius, y, 2 * circle_radius, 2 * scaled_radius)
            pygame.draw.ellipse(screen, kirby_pink_color, kirby_rect)
            face_scaled = pygame.transform.scale(
                kirby_face,
                (2 * circle_radius, 2 * scaled_radius)
            )
            screen.blit(face_scaled, kirby_rect.topleft)
        else:
            pygame.draw.circle(screen, kirby_pink_color, (x, y), circle_radius)
            face_scaled = pygame.transform.scale(
                kirby_face,
                (2 * circle_radius, int(circle_radius * 1.8))
            )
            screen.blit(face_scaled, (x - circle_radius, y - circle_radius))

    draw_kirby(circle_x, circle_y, is_crouching)
    draw_kirby(circle_x2, circle_y2, is_crouching2)

    # Update the display
    pygame.display.flip()

    # Cap the frame rate to 60 FPS
    clock.tick(60)

# Exit the game
pygame.quit()
sys.exit()
This code had something removed when I put it into ChatGPT4, can you add the floating functionality back to both characters? Don't do anything yet though, I'll send the original code so you can see what the floating did.