summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-10-31 21:54:49 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-10-31 21:54:49 +0100
commit711ad16ae4755ebd6a8c98cfc7ff948ce41134bb (patch)
tree889e43f8e4c0588a6e74c70b830b2376a4f47ed5
parentdad1e55e1f9dc83a3f071de162ebc8f9ac0642be (diff)
Minor changes
-rwxr-xr-xsnake/snake.py28
1 files changed, 25 insertions, 3 deletions
diff --git a/snake/snake.py b/snake/snake.py
index fe8883b..cb83301 100755
--- a/snake/snake.py
+++ b/snake/snake.py
@@ -4,10 +4,13 @@ import sys, pygame
class Snake:
- def __init__(self, grid_width=50,grid_height=50, grid_pts=15):
+ def __init__(self, length=10,grid_width=50,grid_height=50, grid_pts=15,fps=2):
self.grid_width=grid_width
self.grid_height=grid_height
self.grid_pts=grid_pts
+ self.fps=fps
+ self.snake=[(0,0)]*length
+ self.direction=3 # Like clock (12=up, 3=right, 6=bottom, 9=left)
pygame.init()
self.screen=pygame.display.set_mode((grid_width*grid_pts,grid_height*grid_pts))
@@ -15,7 +18,25 @@ class Snake:
rect=pygame.Rect(self.grid_pts*x, self.grid_pts*y, self.grid_pts, self.grid_pts)
pygame.draw.rect(self.screen,color,rect, 0)
+ def move(self):
+ head=self.snake[0]
+ if self.direction==3:
+ head=(head[0]+1,head[1])
+ if len(self.snake)>1:
+ tmp=head
+ for i in range(1,len(self.snake)):
+ newtmp=self.snake[i]
+ self.snake[i]=tmp
+ tmp=newtmp
+ self.snake[0]=head
+
+
+ def draw_snake(self):
+ for elt in self.snake:
+ self.draw_pts(elt[0],elt[1])
+
def run(self):
+ clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
@@ -23,9 +44,10 @@ class Snake:
sys.exit()
self.screen.fill((0,0,0))
- self.draw_pts(1,1)
- self.draw_pts(0,0,color=(95,1,255))
+ self.draw_snake()
+ self.move()
pygame.display.flip()
+ clock.tick(self.fps)
game=Snake()