Untitled

 avatar
unknown
plain_text
2 years ago
1.8 kB
7
Indexable
import pygame
import time
import random

cell_size = 20

pygame.init()
win = pygame.display.set_mode((600,400))
color = (255,255,255)

def clear():
    win.fill(color)
    for i in range(0, 600, cell_size):
        pygame.draw.line(win, (0,0,0), (i,0), (i,400))

    for j in range(0, 400, cell_size):
        pygame.draw.line(win, (0,0,0), (0,j), (600,j))

pygame.display.update()

snake_dir = 'right'
x = [100,80,60]
y = [100,100,100]

x_f = random.randint(0, 60) * cell_size
y_f = random.randint(0,40) * cell_size

def move_snake():
    for i in range(len(x)-1, 0, -1):
        x[i] = x[i-1]
        y[i] = y[i-1]
        
    
    if snake_dir == 'right':   
        x[0] += cell_size
    elif snake_dir == 'left':
        x[0] -= cell_size
    elif snake_dir == 'up':
        y[0] -= cell_size
    elif snake_dir == 'down':
        y[0] += cell_size

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                snake_dir = 'left'
            elif event.key == pygame.K_RIGHT:
                snake_dir = 'right'
            elif event.key == pygame.K_UP:
                snake_dir = 'up'
            elif event.key == pygame.K_DOWN:
                snake_dir = 'down'

    move_snake()

    if x[0] > 600:
        x[0] = 0
    elif x[0]< 0:
        x[0] = 600

    if y[0] > 400:
        y[0] = 0
    elif y[0] < 0:
        y[0]= 400

    

    
    
    clear()
    for i in range(0, len(x)):
        pygame.draw.rect(win,(0,0,0),(x[i],y[i], cell_size, cell_size))

    pygame.draw.rect(win,(255,0,0),(x_f,y_f, cell_size, cell_size))

    time.sleep(0.1)
    pygame.display.update()









    
Editor is loading...
Leave a Comment