from Game import Game import pygame class GameView: game = Game() cellWidth = 64 _tickTime = 700 _previousTick = None nextControlDirection = None def isRunning(self): return not self.game.isLost() def width(self): return self.game.width() * self.cellWidth def height(self): return self.game.height() * self.cellWidth def render(self, surface): surface.fill("black") for cell in self.game.snake.cells: pygame.draw.rect(surface, "red", pygame.Rect( cell.x*self.cellWidth, cell.y*self.cellWidth, self.cellWidth, self.cellWidth )) for cell in self.game.walls.walls(): pygame.draw.rect(surface, "white", pygame.Rect( cell.x*self.cellWidth, cell.y*self.cellWidth, self.cellWidth, self.cellWidth )) def update(self, time): if (self._previousTick == None) or (self._previousTick + self._tickTime <= time): self._previousTick = time if self.nextControlDirection != None: self.game.snake.heading = self.nextControlDirection self.nextControlDirection = None self.game.tick()