# Update obstacles for obs in obstacles[:]: obs.update(speed) if obs.off_screen(): obstacles.remove(obs) # Collision detection if player.rect.colliderect(obs.rect) and player.track == obs.track: running = game_over_screen(score, total_coins) if running: # Reset game player = Player() obstacles.clear() coins.clear() score = 0 total_coins = 0 speed = base_speed frame = 0 else: return
def update(self, speed): self.x -= speed self.rect.x = self.x Subway Surfers For Linux
def draw(self, surf): pygame.draw.circle(surf, YELLOW, (self.rect.centerx, self.rect.centery), COIN_SIZE//2) pygame.draw.circle(surf, BLACK, (self.rect.centerx, self.rect.centery), COIN_SIZE//2, 2) # Update obstacles for obs in obstacles[:]: obs
def move_up(self): if self.track > 0: self.track -= 1 self.update_rect() 2) def move_up(self): if self.track >
pygame.display.flip()
class Player: def (self): self.x = 100 self.track = 1 # 0,1,2 self.rect = pygame.Rect(self.x, TRACK_Y[self.track], PLAYER_WIDTH, PLAYER_HEIGHT)
# Increase difficulty if frame % 600 == 0: # every ~10 seconds at 60fps speed += 1