1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
   | import pygame, sys,os
from pygame.locals import * 
 
#----------------------------------CLASSES---------------------------------#
 
class Snake(object):
	x, y = 76, 76
	isUp, isDown, isRight, isLeft = False, False, True, False
	lastDir = 'right'
	last_time = 0
 
	def __init__(self):
		pygame.init() 
 
		window = pygame.display.set_mode((400, 400), HWSURFACE | DOUBLEBUF)
		pygame.display.set_caption('PySnake') 
		screen = pygame.display.get_surface() 
 
		tete_url = os.path.join("tete.bmp") 
		bloc_url = os.path.join("bloc.bmp") 
		tete = pygame.image.load(tete_url) 
		bloc = pygame.image.load(bloc_url) 
 
		pygame.key.set_repeat(10, 10) 
 
		self.blit
 
	def input(events):
		time = pygame.time.get_ticks() 
 
		for event in events: 
			if event.type == QUIT: 
				sys.exit(0) 
			elif event.type == KEYDOWN:
				if event.key == K_RIGHT and lastDir != 'left':
					isUp, isDown, isRight, isLeft = False, False, True, False
					lastDir = 'right'
				elif event.key == K_LEFT and lastDir != 'right':
					isUp, isDown, isRight, isLeft = False, False, False, True
					lastDir = 'left'
				elif event.key == K_UP and lastDir != 'down':
					isUp, isDown, isRight, isLeft = True, False, False, False
					lastDir = 'up'
				elif event.key == K_DOWN and lastDir != 'up':
					isUp, isDown, isRight, isLeft = False, True, False, False
					lastDir = 'down'
 
		if time - last_time >= 75: 
			if isUp: y -= 10
			if isDown: y += 10
			if isRight: x += 10
			if isLeft : x -= 10
			last_time = time 
 
	def borders_verify(self):
		global x, y
		if x >= 400 - 10: x -= 10
		elif x <= 0: x += 10
		elif y >= 400 - 10: y -= 10
		elif y <= 0: y += 10
 
	def blit(self):
		screen.fill((0,0,0)) 
		borders_verify() 
		screen.blit(tete, (x,y)) 
 
		pygame.display.flip() 
 
#----------------------------MAIN--------------------------------#
 
snake = Snake()
 
while True: 
	snake.input(pygame.event.get()) 
	snake.borders_verify()
	snake.blit() | 
Partager