nozver adlı üyeden alıntı: mesajı görüntüle
import pygame
import random
import sys
 
pygame.init()
 
WIDTH = 800
HEIGHT = 600
 
RED = (255,0,0)
BLUE = (0,0,255)
YELLOW = (255,255,0)
BACKGROUND_COLOR = (139,35,35)
 
player_size = 40
player_pos = [WIDTH/2, HEIGHT-2*player_size]
 
enemy_size = 45
enemy_pos = [random.randint(0,WIDTH-enemy_size), 0]
enemy_list = [enemy_pos]
 
SPEED = 10
 
screen = pygame.display.set_mode((WIDTH, HEIGHT))
 
game_over = False
score = 0
########## eklenen ############
ending = False
###############################

clock = pygame.time.Clock()
 
myFont = pygame.font.SysFont("monospace", 35)
 
def set_level(score, SPEED):
    if score < 20:
        SPEED = 5
    elif score < 40:
        SPEED = 8
    elif score < 60:
        SPEED = 12
    else:
        SPEED = 15
    return SPEED
    # SPEED = score/5 + 1
 
 
def drop_enemies(enemy_list):
    delay = random.random()
    if len(enemy_list) < 10 and delay < 0.1:
        x_pos = random.randint(0,WIDTH-enemy_size)
        y_pos = 0
        enemy_list.append([x_pos, y_pos])
 
def draw_enemies(enemy_list):
    for enemy_pos in enemy_list:
        pygame.draw.rect(screen, BLUE, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size))
 
def update_enemy_positions(enemy_list, score):
    for idx, enemy_pos in enumerate(enemy_list):
        if enemy_pos[1] >= 0 and enemy_pos[1] < HEIGHT:
            enemy_pos[1] += SPEED
        else:
            enemy_list.pop(idx)
            score += 1
    return score
 
def collision_check(enemy_list, player_pos):
    for enemy_pos in enemy_list:
        if detect_collision(enemy_pos, player_pos):
            return True
    return False
 
def detect_collision(player_pos, enemy_pos):
    p_x = player_pos[0]
    p_y = player_pos[1]
 
    e_x = enemy_pos[0]
    e_y = enemy_pos[1]
 
    if (e_x >= p_x and e_x < (p_x + player_size)) or (p_x >= e_x and p_x < (e_x+enemy_size)):
        if (e_y >= p_y and e_y < (p_y + player_size)) or (p_y >= e_y and p_y < (e_y+enemy_size)):
            return True
    return False

############################################ eklenen ##########################################
def game_end_screen(score):
    ending_text = "Oyun Bitti!!!"
    score_text = "SCORE:" + str(score)
    ending_text_size = myFont.size(ending_text)
    score_text_size = myFont.size(score_text)
    ending_surface = pygame.Surface((WIDTH/2,HEIGHT/2))
    ending_surface.fill(RED)
    ending_surface_rect = ending_surface.get_rect()  
    ending_message = myFont.render(ending_text,False,BLUE)
    score_table = myFont.render(score_text,False,BLUE)
    ending_message_pos = (ending_surface_rect.width//2 - ending_text_size[0]//2,ending_surface_rect.height//4)
    score_table_pos = (ending_surface_rect.width//2 - score_text_size[0]//2,ending_surface_rect.height//4+ending_message_pos[1])
    ending_surface.blit(ending_message,ending_message_pos)
    ending_surface.blit(score_table,score_table_pos)
    return ending_surface
###################################################################################################

while not game_over:
 
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
 
        if event.type == pygame.KEYDOWN:
 
            x = player_pos[0]
            y = player_pos[1]
 
            if event.key == pygame.K_LEFT:
                x -= player_size
            elif event.key == pygame.K_RIGHT:
                x += player_size
 
            player_pos = [x,y]
 
    screen.fill(BACKGROUND_COLOR)

    ############################################ eklenen ##########################################
    if ending:
        ending_screen_rect = ending_screen.get_rect()
        pos = (WIDTH//2-ending_screen_rect.width//2,HEIGHT//2-ending_screen_rect.height//2)
        screen.blit(ending_screen,pos)
    else:
        score = update_enemy_positions(enemy_list, score)
        SPEED = set_level(score, SPEED)
        drop_enemies(enemy_list)
        draw_enemies(enemy_list)

    #################################################################################################
        
    text = "Puan:" + str(score)
    label = myFont.render(text, 1, YELLOW)

    ############################################### degistirildi ####################################
    
    if not ending:
        screen.blit(label, (WIDTH-200, HEIGHT-40))

    if collision_check(enemy_list, player_pos):
        ending = True
        ending_screen = game_end_screen(score)
    #################################################################################################
    
    pygame.draw.rect(screen, RED, (player_pos[0], player_pos[1], player_size, player_size))
 
    clock.tick(30)
 
    pygame.display.update()
bu şekilde deneyebilir misiniz
hocam suan onula gidiyorum gider gitmez deneyecegim



nozver adlı üyeden alıntı: mesajı görüntüle
import pygame
import random
import sys
 
pygame.init()
 
WIDTH = 800
HEIGHT = 600
 
RED = (255,0,0)
BLUE = (0,0,255)
YELLOW = (255,255,0)
BACKGROUND_COLOR = (139,35,35)
 
player_size = 40
player_pos = [WIDTH/2, HEIGHT-2*player_size]
 
enemy_size = 45
enemy_pos = [random.randint(0,WIDTH-enemy_size), 0]
enemy_list = [enemy_pos]
 
SPEED = 10
 
screen = pygame.display.set_mode((WIDTH, HEIGHT))
 
game_over = False
score = 0
########## eklenen ############
ending = False
###############################

clock = pygame.time.Clock()
 
myFont = pygame.font.SysFont("monospace", 35)
 
def set_level(score, SPEED):
    if score < 20:
        SPEED = 5
    elif score < 40:
        SPEED = 8
    elif score < 60:
        SPEED = 12
    else:
        SPEED = 15
    return SPEED
    # SPEED = score/5 + 1
 
 
def drop_enemies(enemy_list):
    delay = random.random()
    if len(enemy_list) < 10 and delay < 0.1:
        x_pos = random.randint(0,WIDTH-enemy_size)
        y_pos = 0
        enemy_list.append([x_pos, y_pos])
 
def draw_enemies(enemy_list):
    for enemy_pos in enemy_list:
        pygame.draw.rect(screen, BLUE, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size))
 
def update_enemy_positions(enemy_list, score):
    for idx, enemy_pos in enumerate(enemy_list):
        if enemy_pos[1] >= 0 and enemy_pos[1] < HEIGHT:
            enemy_pos[1] += SPEED
        else:
            enemy_list.pop(idx)
            score += 1
    return score
 
def collision_check(enemy_list, player_pos):
    for enemy_pos in enemy_list:
        if detect_collision(enemy_pos, player_pos):
            return True
    return False
 
def detect_collision(player_pos, enemy_pos):
    p_x = player_pos[0]
    p_y = player_pos[1]
 
    e_x = enemy_pos[0]
    e_y = enemy_pos[1]
 
    if (e_x >= p_x and e_x < (p_x + player_size)) or (p_x >= e_x and p_x < (e_x+enemy_size)):
        if (e_y >= p_y and e_y < (p_y + player_size)) or (p_y >= e_y and p_y < (e_y+enemy_size)):
            return True
    return False

############################################ eklenen ##########################################
def game_end_screen(score):
    ending_text = "Oyun Bitti!!!"
    score_text = "SCORE:" + str(score)
    ending_text_size = myFont.size(ending_text)
    score_text_size = myFont.size(score_text)
    ending_surface = pygame.Surface((WIDTH/2,HEIGHT/2))
    ending_surface.fill(RED)
    ending_surface_rect = ending_surface.get_rect()  
    ending_message = myFont.render(ending_text,False,BLUE)
    score_table = myFont.render(score_text,False,BLUE)
    ending_message_pos = (ending_surface_rect.width//2 - ending_text_size[0]//2,ending_surface_rect.height//4)
    score_table_pos = (ending_surface_rect.width//2 - score_text_size[0]//2,ending_surface_rect.height//4+ending_message_pos[1])
    ending_surface.blit(ending_message,ending_message_pos)
    ending_surface.blit(score_table,score_table_pos)
    return ending_surface
###################################################################################################

while not game_over:
 
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
 
        if event.type == pygame.KEYDOWN:
 
            x = player_pos[0]
            y = player_pos[1]
 
            if event.key == pygame.K_LEFT:
                x -= player_size
            elif event.key == pygame.K_RIGHT:
                x += player_size
 
            player_pos = [x,y]
 
    screen.fill(BACKGROUND_COLOR)

    ############################################ eklenen ##########################################
    if ending:
        ending_screen_rect = ending_screen.get_rect()
        pos = (WIDTH//2-ending_screen_rect.width//2,HEIGHT//2-ending_screen_rect.height//2)
        screen.blit(ending_screen,pos)
    else:
        score = update_enemy_positions(enemy_list, score)
        SPEED = set_level(score, SPEED)
        drop_enemies(enemy_list)
        draw_enemies(enemy_list)

    #################################################################################################
        
    text = "Puan:" + str(score)
    label = myFont.render(text, 1, YELLOW)

    ############################################### degistirildi ####################################
    
    if not ending:
        screen.blit(label, (WIDTH-200, HEIGHT-40))

    if collision_check(enemy_list, player_pos):
        ending = True
        ending_screen = game_end_screen(score)
    #################################################################################################
    
    pygame.draw.rect(screen, RED, (player_pos[0], player_pos[1], player_size, player_size))
 
    clock.tick(30)
 
    pygame.display.update()
bu şekilde deneyebilir misiniz
Hocam Allah senden razı olsun işime çok yarayacak