Untitled

 avatar
unknown
plain_text
2 years ago
2.3 kB
2
Indexable
import pygame

# Initialize pygame
pygame.init()

# Create the screen
screen = pygame.display.set_mode((800, 600))

# Set the background color
pygame.display.set_caption("Snake Game")

# Create the snake
snake = [(0, 0), (0, 1), (0, 2)]

# Create the food
food = (100, 100)

# Set the direction of the snake
direction = "up"

# Create a clock to keep track of time
clock = pygame.time.Clock()

# Start the game loop
while True:

    # Check for events
    for event in pygame.event.get():
        # If the user quits, quit the game
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        # If the user presses a key, change the direction of the snake
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                if direction != "down":
                    direction = "up"
            elif event.key == pygame.K_DOWN:
                if direction != "up":
                    direction = "down"
            elif event.key == pygame.K_LEFT:
                if direction != "right":
                    direction = "left"
            elif event.key == pygame.K_RIGHT:
                if direction != "left":
                    direction = "right"

    # Move the snake
    head = snake[0]
    if direction == "up":
        head = (head[0], head[1] - 1)
    elif direction == "down":
        head = (head[0], head[1] + 1)
    elif direction == "left":
        head = (head[0] - 1, head[1])
    elif direction == "right":
        head = (head[0] + 1, head[1])

    # Check if the snake hit the food
    if head == food:
        # Grow the snake
        snake.append(head)

        # Create new food
        food = (
            int(random.randint(0, 800 - 10) / 10) * 10,
            int(random.randint(0, 600 - 10) / 10) * 10,
        )

    # Check if the snake hit itself
    for body in snake[1:]:
        if head == body:
            # Game over
            break

    # Clear the screen
    screen.fill((0, 0, 0))

    # Draw the snake
    for body in snake:
        pygame.draw.rect(screen, (255, 0, 0), body)

    # Draw the food
    pygame.draw.rect(screen, (0, 255, 0), food)

    # Update the display
    pygame.display.update()

    # Slow down the game
    clock.tick(20)
Editor is loading...