blob: a1e3dc4c5fe70c760184ec6c40482161a2f56c05 (
plain)
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
|
import Vec
from Vec import Vec2
import Game
class Snake:
cells = []
heading = Vec.up
game = None
hasCollided = False
def __init__(self, cells: list[Vec2], game: Game):
self.cells = cells
self.game = game
def move(self):
nextPos = self.cells[0] + self.heading
last = self.cells.pop()
if self.game.enter(nextPos, self.heading):
self.cells.insert(0, nextPos)
else:
self.cells.append(last)
self.hasCollided = True
def head(self):
return self.cells[0]
|