Surfers For Linux — Subway

def show_coins(coins, surf): text = font.render(f"Coins: coins", True, YELLOW) surf.blit(text, (WIDTH - 150, 10))

# Score increases over time score += 1

def game_over_screen(final_score, final_coins): screen.fill(WHITE) game_over_text = font.render("GAME OVER", True, RED) score_text = font.render(f"Score: final_score", True, BLACK) coin_text = font.render(f"Coins: final_coins", True, YELLOW) restart_text = font.render("Press R to restart or Q to quit", True, BLACK) Subway Surfers For Linux

def draw(self, surf): pygame.draw.rect(surf, BLUE, self.rect) pygame.draw.rect(surf, BLACK, self.rect, 3) class Obstacle: def (self, track, x): self.track = track self.x = x self.rect = pygame.Rect(x, TRACK_Y[track], OBSTACLE_WIDTH, OBSTACLE_HEIGHT)

# Event handling for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: player.move_up() if event.key == pygame.K_DOWN: player.move_down() def show_coins(coins, surf): text = font

def update(self, speed): self.x -= speed self.rect.x = self.x

def move_up(self): if self.track > 0: self.track -= 1 self.update_rect() surf): text = font.render(f"Coins: coins"

# Spawn coins (more frequent than obstacles) if frame % random.randint(25, 45) == 0: track = random.randint(0, 2) coins.append(Coin(track, WIDTH))