/
game.py
63 lines (47 loc) · 1.55 KB
/
game.py
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
51
52
53
54
55
56
57
58
59
60
61
62
63
import pygame
from pygame.sprite import Group
from event_loop import EventLoop
from maze import Maze
from ghost import Ghost
from pacman import Pacman
from expandfile import ExpandFile
from game_stats import GameStats
class Game:
BLACK = (0, 0, 0)
def __init__(self):
pygame.init()
self.screen = pygame.display.set_mode((900, 1000))
pygame.display.set_caption("Pacman Portal")
self.clock = pygame.time.Clock()
self.expandfile = ExpandFile('mazefile.txt', expandBy=6)
self.maze = Maze(self.screen, 'mazefile_expanded.txt', 'brick', 'orangeportal', 'blueportal', 'shield', 'point')
self.gamestats = GameStats()
self.pacmanGroup = Group()
self.pacman = Pacman(self.screen)
self.pacmanGroup.add(self.pacman)
def play(self):
pacman = self.pacman
maze = self.maze
ghost = []
for i in range(1):
g = Ghost(self.screen)
g.type = i
g.x += 30 * i
g.prep_ghost()
ghost.append(g)
eloop = EventLoop(status=False)
while not eloop.finished:
eloop.check_events(pacman)
eloop.update_screen(pacman)
pacman.update(maze, self.gamestats, self.pacmanGroup)
for i in range(1):
ghost[i].blit()
self.update_screen()
def update_screen(self):
self.screen.fill(Game.BLACK)
self.maze.blitme()
self.pacman.blitme()
pygame.display.flip()
self.clock.tick(120)
game = Game()
game.play()