游戏代码编辑

发布于:2025-04-16 ⋅ 阅读:(25) ⋅ 点赞:(0)

游戏玩家 设置

player_x = WIDTH // 2 - player_size //游戏设置

clock = pygame.time.Clock()

score = 0

game_over = False

font = pygame.font.SysFont(None, 36)

 

def draw_player(x, y):

    pygame.draw.rect(screen, BLUE, (x, y, player_size, player_size))

 

def create_obstacle():

    x = random.randint(0, WIDTH - player_size)

    y = -player_size

    obstacles.append([x, y])

 

def draw_obstacles():

    for obstacle in obstacles:

        pygame.draw.rect(screen, RED, (obstacle[0], obstacle[1], player_size, player_size))

 

def update_obstacles():

    global score

    for i, obstacle in enumerate(obstacles):

        obstacle[1] += obstacle_speed

        if obstacle[1] > HEIGHT:

            obstacles.pop(i)

            score += 1

 

def check_collision():

    for obstacle in obstacles:

        if (player_x < obstacle[0] + player_size and

            player_x + player_size > obstacle[0] and

            player_y < obstacle[1] + player_size and

            player_y + player_size > obstacle[1]):

            return True

    return False

 

def show_score():

    score_text = font.render(f"得分: {score}", True, BLACK)

    screen.blit(score_text, (10, 10))

 

def show_game_over():

    game_over_text = font.render("游戏结束! 按R键重新开始", True, BLACK)

    screen.blit(game_over_text, (WIDTH//2 - 180, HEIGHT//2 - 18))

 游戏主循环

while True:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            pygame.quit()

            sys.exit()

        if event.type == pygame.KEYDOWN and game_over:

            if event.key == pygame.K_r:

                重置游戏

                game_over = False

                score = 0

                player_x = WIDTH // 2 - player_size // 2

                obstacles = []

    

    if not game_over:

        # 玩家移动

        keys = pygame.key.get_pressed()

        if keys[pygame.K_LEFT] and player_x > 0:

            player_x -= player_speed

        if keys[pygame.K_RIGHT] and player_x < WIDTH - player_size:

            player_x += player_speed

        

        


网站公告

今日签到

点亮在社区的每一天
去签到