Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame, sys, random
- from pygame.locals import *
- pygame.init()
- pygame.display.set_caption('Snake')
- clock = pygame.time.Clock()
- screen = pygame.display.set_mode((500, 500))
- snake = [[25,25],[26,25],[27,25],[28,25]]
- appleX,appleY = 10,10
- dirx,diry = -1,0
- grid = 10
- body = pygame.Surface((grid,grid))
- body.fill((0,255,0))
- apple = pygame.Surface((grid,grid))
- apple.fill((255,0,0))
- def checkOverlap():
- for x,y in snake[3:]:
- if snake[0][0] == x and snake[0][1] == y: endgame()
- def checkAppleHit():
- global appleX, appleY
- if snake[0][0] == appleX and snake[0][1] == appleY:
- appleX,appleY = random.randrange(2,48),random.randrange(2,48) #Plasser nytt eple
- snake.insert(1,[snake[1][0],snake[1][1]]) #Doble ledd nr 2
- def endgame():
- pygame.quit()
- sys.exit()
- while True:
- screen.fill((255,255,255))
- snake.pop(-1) #Fjerner siste del av halen
- snake.insert(0,[snake[0][0]+dirx,snake[0][1]+diry]) #Legger til en ny del først i den retningen slangen beveger seg.
- screen.blit(apple, (appleX*grid,appleY*grid))
- for x,y in snake:
- screen.blit(body, (x*grid, y*grid))
- checkAppleHit()
- checkOverlap()
- for event in pygame.event.get():
- if event.type == pygame.KEYDOWN:
- if event.key == pygame.K_LEFT and not dirx == 1: dirx,diry = -1,0
- if event.key == pygame.K_RIGHT and not dirx == -1: dirx,diry = 1,0
- if event.key == pygame.K_UP and not diry == 1: dirx,diry = 0,-1
- if event.key == pygame.K_DOWN and not diry == -1: dirx,diry = 0,1
- if event.type == QUIT: endgame()
- pygame.display.update()
- clock.tick(8)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement