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]