Autor: Olgierd Krzyżewski

  • Gra o wężu. Węże są super

    Nie wiem czy działa. Pownino strzałkami ruszać. Polecam sprawdzić. Działa na python (chyba)

    import pygame
    import time
    import random
    
    # Initialize pygame
    pygame.init()
    
    # Colors
    white = (255, 255, 255)
    yellow = (255, 255, 102)
    black = (0, 0, 0)
    red = (213, 50, 80)
    green = (0, 255, 0)
    blue = (50, 153, 213)
    
    # Screen dimensions
    width = 600
    height = 400
    
    # Create the screen
    screen = pygame.display.set_mode((width, height))
    pygame.display.set_caption('Snake Game')
    
    # Set the clock
    clock = pygame.time.Clock()
    
    # Snake block size and speed
    snake_block = 10
    snake_speed = 15
    
    font_style = pygame.font.SysFont("bahnschrift", 25)
    score_font = pygame.font.SysFont("comicsansms", 35)
    
    # Score function
    def score_display(score):
        value = score_font.render("Your Score: " + str(score), True, black)
        screen.blit(value, [0, 0])
    
    # Snake function to draw the snake
    def our_snake(snake_block, snake_list):
        for x in snake_list:
            pygame.draw.rect(screen, green, [x[0], x[1], snake_block, snake_block])
    
    # Message display function
    def message(msg, color):
        mesg = font_style.render(msg, True, color)
        screen.blit(mesg, [width / 6, height / 3])
    
    # Main function
    def gameLoop():
        game_over = False
        game_close = False
    
        # Initial position of the snake
        x1 = width / 2
        y1 = height / 2
    
        # Change in position
        x1_change = 0
        y1_change = 0
    
        # Snake body
        snake_List = []
        Length_of_snake = 1
    
        # Food position
        foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
        foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0
    
        while not game_over:
    
            while game_close:
                screen.fill(blue)
                message("You Lost! Press Q-Quit or C-Play Again", red)
                score_display(Length_of_snake - 1)
                pygame.display.update()
    
                for event in pygame.event.get():
                    if event.type == pygame.KEYDOWN:
                        if event.key == pygame.K_q:
                            game_over = True
                            game_close = False
                        if event.key == pygame.K_c:
                            gameLoop()
    
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    game_over = True
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_LEFT:
                        x1_change = -snake_block
                        y1_change = 0
                    elif event.key == pygame.K_RIGHT:
                        x1_change = snake_block
                        y1_change = 0
                    elif event.key == pygame.K_UP:
                        y1_change = -snake_block
                        x1_change = 0
                    elif event.key == pygame.K_DOWN:
                        y1_change = snake_block
                        x1_change = 0
    
            if x1 >= width or x1 < 0 or y1 >= height or y1 < 0:
                game_close = True
            x1 += x1_change
            y1 += y1_change
            screen.fill(blue)
            pygame.draw.rect(screen, yellow, [foodx, foody, snake_block, snake_block])
            snake_Head = []
            snake_Head.append(x1)
            snake_Head.append(y1)
            snake_List.append(snake_Head)
    
            if len(snake_List) > Length_of_snake:
                del snake_List[0]
    
            for x in snake_List[:-1]:
                if x == snake_Head:
                    game_close = True
    
            our_snake(snake_block, snake_List)
            score_display(Length_of_snake - 1)
    
            pygame.display.update()
    
            if x1 == foodx and y1 == foody:
                foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
                foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0
                Length_of_snake += 1
    
            clock.tick(snake_speed)
    
        pygame.quit()
        quit()
    
    gameLoop()
    

    METAL GEAR SOLD 3 VGM SOUNDTRACK. Polecam🙌🙌🙌