aboutsummaryrefslogtreecommitdiff
path: root/src/game_state.py
blob: 41e7985b1b1ae2593fb4da1942787aaa39d1e806 (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
40
41
42
43
44
45
46
47
48
49
50
from blinky import Blinky
from clyde import Clyde
from inky import Inky
from pinky import Pinky
from player import Player
from settings import settings
import map as Map
import pygame

WIDTH = settings.width
HEIGHT = settings.height
maze = Map.Map()
TILE_WIDTH = WIDTH // len(maze.maze[0])
TILE_HEIGHT = HEIGHT // len(maze.maze)


class GameState():
    def __init__(self, sprites, settings):
        self.pacman = Player(sprites[0],settings)
        self.blinky = Blinky(sprites[1], 12 * TILE_WIDTH +
                             15, 12 * TILE_HEIGHT + 15,settings)
        self.pinky = Pinky(sprites[2], 11 * TILE_WIDTH +
                           15, 12 * TILE_HEIGHT + 15,settings)
        self.inky = Inky(sprites[3], 13 * TILE_WIDTH +
                         15, 12 * TILE_HEIGHT + 15,settings)
        self.clyde = Clyde(sprites[4], 14 * TILE_WIDTH +
                           15, 12 * TILE_HEIGHT + 15,settings)
        self.map = Map.Map()
        self.food = 0
        self.game_over = False
        self.score = 0
        self.is_pacman_alive = True

    def reset(self, sprites ,settings):
        self.pacman = Player(sprites[0])
        self.blinky = Blinky(sprites[1], 12 * TILE_WIDTH +
                             15, 12 * TILE_HEIGHT + 15,settings)
        self.pinky = Pinky(sprites[2], 11 * TILE_WIDTH +
                           15, 12 * TILE_HEIGHT + 15,settings)
        self.inky = Inky(sprites[3], 13 * TILE_WIDTH +
                         15, 12 * TILE_HEIGHT + 15,settings)
        self.clyde = Clyde(sprites[4], 14 * TILE_WIDTH +
                           15, 12 * TILE_HEIGHT + 15,settings)
        self.map = Map.Map()
        self.food = 0
        self.game_over = False
        self.is_pacman_alive = True
        self.score = 0
        timer_event = pygame.USEREVENT + 1
        pygame.time.set_timer(timer_event, 1000 * 10, 1)