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 if self.game.enter(nextPos, self.heading): if nextPos in self.cells[1:len(self.cells)-1]: self.hasCollided = True else: self.cells.pop() self.cells.insert(0, nextPos) else: self.hasCollided = True def head(self): return self.cells[0]