import pygame
import random
pygame.init()

button_font = pygame.font.Font("PixelifySans-VariableFont_wght.ttf", 20)
button_text = button_font.render("REPLAY", False, (255, 255, 255))
replay_button_rect = button_text.get_rect(center=(400, 400))
width, height = 800, 600
ecran = pygame.display.set_mode((width, height))
pygame.display.set_caption("PLATFORMER")


fond = pygame.transform.scale(pygame.image.load("backgroundplat.png").convert(), (width, height))
block = pygame.transform.scale(pygame.image.load("blockbonus.png").convert_alpha(), (50, 50))
block_rect = block.get_rect(topleft=(400, 200))
player = pygame.transform.scale(pygame.image.load("player move90.png").convert_alpha(), (65, 75))
player_rect = player.get_rect(topleft=(60, 300))
spike = pygame.transform.scale(pygame.image.load("Spikes.png").convert_alpha(), (80, 50))
spike_rect = spike.get_rect(topleft=(400, 500))
floor = pygame.transform.scale(pygame.image.load("floor.png").convert_alpha(), (800, 50))
floor_rect = floor.get_rect(topleft=(0, 550))
cookie= pygame.transform.scale(pygame.image.load("cookie.png").convert_alpha(), (50, 50))
cookie_rect = cookie.get_rect(topleft=(700, 500))
horloge = pygame.time.Clock()
gameoverbackground = pygame.transform.scale(pygame.image.load("gameover.png").convert(), (width, height))
level = 1
speed = 8
velocity_y, gravity = 0, 0.4
rungame = True
game_over = False
jumping = False
jumpforce = -10
cookie_collected = False

while rungame:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            rungame = False
        if event.type == pygame.KEYDOWN and not game_over:
            if event.key == pygame.K_e and player_rect.colliderect(cookie_rect):
                cookie_collected = True
                jumpforce = -15
                cookie_rect.topleft = (-100, -100)
        if event.type == pygame.MOUSEBUTTONDOWN and game_over:
            if event.button == 1 and replay_button_rect.collidepoint(event.pos):
                game_over, velocity_y, jumping = False, 0, False
                player_rect.topleft = (60, 300)
                cookie_collected = False
                cookie_rect.topleft = (700, 500)

    if not game_over:
        if jumping==False and player_rect.bottom >= floor_rect.top:
            if pygame.key.get_pressed()[pygame.K_UP] or pygame.key.get_pressed()[pygame.K_SPACE]:
                velocity_y = jumpforce
                jumping = True
        if pygame.key.get_pressed()[pygame.K_RIGHT]:
            player_rect.x += speed
        if pygame.key.get_pressed()[pygame.K_LEFT]:
            player_rect.x -= speed


        velocity_y += gravity
        player_rect.y += int(velocity_y)
        player_rect.y = max(player_rect.y, 0)
        player_rect.x = max(player_rect.x, 0)
        if player_rect.right >= width:
            level += 1
            player_rect.topleft = (20, 500)
        if player_rect.colliderect(floor_rect):
            player_rect.bottom = floor_rect.top
            jumping = False
            velocity_y = 0

        if player_rect.colliderect(spike_rect):
            game_over = True

    ecran.blit(fond, (0, 0))
    ecran.blit(floor, floor_rect)
    ecran.blit(block, block_rect)
    ecran.blit(spike, spike_rect)
    ecran.blit(player, player_rect)
    ecran.blit(cookie, cookie_rect)

    if game_over:
        ecran.blit(gameoverbackground, (0, 0))
        ecran.blit(button_text, replay_button_rect)

    pygame.display.flip()
    horloge.tick(60)
pygame.quit()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: