blob: 2ff8f924c6f548ca703ac70144ead25f80c7362c (
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
28
29
30
31
32
33
34
35
36
37
38
39
|
from board import Board
from food_manager import FoodManager
from label import Label
from player import Player
from setup import *
class Game:
def __init__(self):
self.board = Board()
self.food_manager = FoodManager()
self.snake = Player(center - 2 * x_unit)
self.fast_forward = False
self.ff_label = Label((0, 0), ">>", WHITE, None, 50)
def update(self, delta):
for event in pygame.event.get():
if event.type == pygame.QUIT:
return COMMAND_EXIT
elif event.type == pygame.KEYDOWN:
self.snake.get_input(event)
if event.key == pygame.K_SPACE:
self.fast_forward = not self.fast_forward
self.ff_label.update(delta)
self.food_manager.update(self.snake.body)
status = self.snake.update(delta * (3 ** self.fast_forward), self.food_manager)
if len(self.snake.body) == LENGTH * HEIGHT:
return COMMAND_WIN
if status == COMMAND_LOSE:
return status
return
def draw(self, surf):
self.board.draw(surf)
self.snake.draw(surf)
self.food_manager.draw(surf)
if self.fast_forward:
self.ff_label.draw(surf, centered=False)
|