import Vec from Vec import Vec2 import Game class Snake: def __init__(self, cells: list[Vec2], game: "Game.Game") -> None: self.heading = Vec.up self.hasCollided = False self.cells = cells self.game = game def move(self) -> None: 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) -> Vec2: return self.cells[0]