コード例 #1
0
class Jogo:
    def __init__(self):
        pygame.init()
        self.tela = model.Tela()
        self.pacman = PacMan(tamanho=model.TAMANHO_ATORES,
                             linha=1,
                             coluna=1,
                             eixo_x=model.LARGURA // 2,
                             eixo_y=model.ALTURA // 2,
                             velocidade_eixo_x=0,
                             velocidade_eixo_y=0)
        qtd_linhas = 600 // 30
        self.cenario = Cenario(tela=self.tela(),
                               pacman=self.pacman,
                               tamanho=qtd_linhas)

    def game_loop(self):
        blinky = Fantasma(cor=model.VERMELHO, tamanho=model.TAMANHO_ATORES)
        inky = Fantasma(cor=model.CIANO, tamanho=model.TAMANHO_ATORES)
        clyde = Fantasma(cor=model.LARANJA, tamanho=model.TAMANHO_ATORES)
        pinky = Fantasma(cor=model.ROSA, tamanho=model.TAMANHO_ATORES)

        self.cenario.adicionar_ator(self.pacman)
        self.cenario.adicionar_ator(blinky)
        self.cenario.adicionar_ator(inky)
        self.cenario.adicionar_ator(clyde)
        self.cenario.adicionar_ator(pinky)
        while True:
            # Calcular regras
            self.cenario.calcular_regras()
            blinky.calcular_regras(self.cenario.estado)
            inky.calcular_regras(self.cenario.estado)
            clyde.calcular_regras(self.cenario.estado)
            pinky.calcular_regras(self.cenario.estado)
            self.pacman.calcular_regras()

            # Pinta
            self.tela().fill(model.PRETO)
            self.cenario.pintar(self.tela())
            self.pacman.pintar(self.tela())
            blinky.pintar(self.tela())
            inky.pintar(self.tela())
            clyde.pintar(self.tela())
            pinky.pintar(self.tela())
            pygame.display.update()
            pygame.time.delay(100)

            # Eventos
            eventos = pygame.event.get()
            self.cenario.processar_eventos(eventos)
            self.pacman.processar_eventos(eventos, self.cenario.estado)
コード例 #2
0
ファイル: game.py プロジェクト: Dexstettner/pacman
    cenario = Cenario(size, pacman)
    cenario.adicionar_movivel(pacman)
    cenario.adicionar_movivel(blinky)
    cenario.adicionar_movivel(inky)
    cenario.adicionar_movivel(clyde)
    cenario.adicionar_movivel(pinky)

    while True:
        # Calcular as regras
        if cenario.estado == JOGANDO:
            pacman.calcular_regras()
            blinky.calcular_regras()
            inky.calcular_regras()
            clyde.calcular_regras()
            pinky.calcular_regras()
        cenario.calcular_regras()

        # Pintar a tela
        screen.fill(PRETO)
        cenario.pintar(screen)
        pacman.pintar(screen)
        blinky.pintar(screen)
        inky.pintar(screen)
        clyde.pintar(screen)
        pinky.pintar(screen)
        pygame.display.update()
        clock.tick(30)

        # Captura os eventos
        eventos = pygame.event.get()
        cenario.processar_eventos(eventos)