Example #1
0
class Jogo:
    """ Classe Jogo """
    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))
        self.cenario = Cenario(self.tela)

    def criar_atores(self):
        """ Cria os atores """
        self.joyce = Ator(0, 200)
        self.joyce.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_ED_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.joyce))

    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.joyce.rect.x < retangulo.width - 64):
            self.joyce.rect.x += 8

    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((65, 171, 73))
        self.cenario.reconstruir_cenario()  # <-- custo elevado :-(
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)

    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (True):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #2
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))
        self.fim_jogo = False

    def criar_atores(self):
        """ Cria os atores """
        self.gasper = Ator(800 - 64, 250)
        self.gasper.inserir_estado("Direta_Esquerda")
        for x in range(1, 5):
            self.gasper.inserir_pose("imagens/gasper_DE_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.gasper))

    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if self.gasper.rect.x > 0:
            self.gasper.rect.x -= 8

    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((80, 80, 80))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if (tecla == K_ESCAPE) or (tecla == K_q):
            raise SystemExit

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if evento.type == QUIT:
                raise SystemExit
            if evento.type == KEYDOWN:
                self.tratar_evento_teclado(evento)

    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while not self.fim_jogo:
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #3
0
class Jogo:
    """ Classe Jogo """
    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))
        self.fim_jogo = False

    def criar_atores(self):
        """ Cria os atores """
        self.gasper = Ator(800 - 64, 250)
        self.gasper.inserir_estado("Direta_Esquerda")
        for x in range(1, 5):
            self.gasper.inserir_pose("imagens/gasper_DE_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.gasper))

    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.gasper.rect.x > 0):
            self.gasper.rect.x -= 8

    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((80, 80, 80))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)

    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (not self.fim_jogo):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #4
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600), FULLSCREEN)


    def criar_atores(self):
        """ Cria os atores """
        self.bruno = Ator(50, 100)
        self.bruno.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_ED_%02i.png" % x)
        self.bruno.inserir_estado("DirEsq")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_DE_%02i.png" % x)
        self.bruno.inserir_estado("CimaBaixo")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_CB_%02i.png" % x)
        self.bruno.inserir_estado("BaixoCima")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_BC_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.bruno))


    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.bruno.estado == "EsqDir"):
            self.bruno.rect.x += 8
        elif (self.bruno.estado == "CimaBaixo"):
            self.bruno.rect.y += 8
        elif (self.bruno.estado == "DirEsq"):
            self.bruno.rect.x -= 8
        elif (self.bruno.estado == "BaixoCima"):
            self.bruno.rect.y -= 8


    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((120, 120, 120))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()


    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit
        elif (evento.type == KEYDOWN):
            if (evento.key == K_UP):
                self.bruno.estado = "BaixoCima"
            elif (evento.key == K_DOWN):
                self.bruno.estado = "CimaBaixo"
            elif (evento.key == K_LEFT):
                self.bruno.estado = "DirEsq"
            elif (evento.key == K_RIGHT):
                self.bruno.estado = "EsqDir"


    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)


    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (True):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #5
0
class Jogo:
    """ Classe Jogo """
    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))  #, FULLSCREEN)
        self.cenario = Cenario(self.tela)
        self.cenario.construir()

    def criar_atores(self):
        """ Cria os atores """
        self.joyce = Ator(400, 300)
        self.joyce.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_ED_%02i.png" % x)
        self.joyce.inserir_estado("DirEsq")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_DE_%02i.png" % x)
        self.joyce.inserir_estado("CimaBaixo")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_CB_%02i.png" % x)
        self.joyce.inserir_estado("BaixoCima")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_BC_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.joyce))

    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.joyce.estado == "EsqDir"):
            if (self.joyce.rect.x < retangulo.width - 64 - 36):
                self.joyce.rect.x += 4
            self.cenario.mover(4, 0)
        elif (self.joyce.estado == "CimaBaixo"):
            if (self.joyce.rect.y < retangulo.height - 100 - 36):
                self.joyce.rect.y += 4
            self.cenario.mover(0, 4)
        elif (self.joyce.estado == "DirEsq"):
            if (self.joyce.rect.x > 36):
                self.joyce.rect.x -= 4
            self.cenario.mover(-4, 0)
        elif (self.joyce.estado == "BaixoCima"):
            if (self.joyce.rect.y > 36):
                self.joyce.rect.y -= 4
            self.cenario.mover(0, -4)

    def repintar_tela(self):
        """ Repinta a tela """
        self.cenario.repintar()
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit
        elif (evento.type == KEYDOWN):
            if (evento.key == K_UP):
                self.joyce.estado = "BaixoCima"
            elif (evento.key == K_DOWN):
                self.joyce.estado = "CimaBaixo"
            elif (evento.key == K_LEFT):
                self.joyce.estado = "DirEsq"
            elif (evento.key == K_RIGHT):
                self.joyce.estado = "EsqDir"

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)

    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (True):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #6
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600), FULLSCREEN)
        self.fim_jogo = False


    def criar_atores(self):
        """ Cria os atores """
        self.beneton = Ator(0, 250)
        self.beneton.inserir_estado("ED")
        for x in range(1, 5):
            self.beneton.inserir_pose("dados/imagens/beneton_ED_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.beneton))


    def atualizar_atores(self):
        """ Atualiza os atores """
        ret_tela = self.tela.get_rect()
        if (self.beneton.rect.x < ret_tela.width - self.beneton.rect.width):
            self.beneton.rect.x += 8
        else:
            self.fim_jogo = True


    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((230, 230, 230))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()


    def tratar_eventos_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit


    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_eventos_teclado(evento)


    def caminhar(self):
        """ Laco principal do Jogo - Caminhar """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        self.fim_jogo = False
        while (not self.fim_jogo):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)


    def rodar(self):
        """ Roda o jogo """
        menu = Menu(self.tela)
        menu_creditos = Menu_Creditos(self.tela)
        opcao = menu.rodar()
        while (opcao != 3):
            if (opcao == 1):
                self.caminhar()
            elif (opcao == 2):
                opcao = menu_creditos.rodar()
            opcao = menu.rodar()
Example #7
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600), FULLSCREEN)
        self.fim_jogo = False


    def criar_atores(self):
        """ Cria os atores """
        self.luzi = Ator(336, 500)
        self.luzi.inserir_estado("BC")
        for x in range(1, 5):
            self.luzi.inserir_pose("dados/imagens/luzi_BC_%02i.png" % x)
        self.beneton = Ator(400, 0)
        self.beneton.inserir_estado("CB")
        for x in range(1, 5):
            self.beneton.inserir_pose("dados/imagens/beneton_CB_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.luzi, self.beneton))


    def atualizar_atores(self):
        """ Atualiza os atores """
        ret_tela = self.tela.get_rect()
        if (self.luzi.rect.y > 0):
            self.luzi.rect.y -= 4
        else:
            self.fim_jogo = True
        if (self.beneton.rect.y < 500):
            self.beneton.rect.y += 6


    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((230, 230, 230))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()


    def tratar_eventos_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit


    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_eventos_teclado(evento)


    def caminhar(self):
        """ Laco principal do Jogo - Caminhar """
        FPS = 8
        relogio = pygame.time.Clock()
        self.fim_jogo = False
        tic, tac = time.time(), 0
        while (tac <= 1.8):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            tac = time.time() - tic
            relogio.tick(FPS)


    def rodar(self):
        """ Roda o Jogo """
        self.criar_atores()
        menu = Menu(self.tela)
        opcao = menu.rodar()
        while (opcao != 2):
            if (opcao == 1):
                self.caminhar()
            menu.opcao = 2
            opcao = menu.rodar()
Example #8
0
class Jogo:
    """ Classe Jogo """
    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600), FULLSCREEN)
        self.fim_jogo = False

    def criar_atores(self):
        """ Cria os atores """
        self.beneton = Ator(0, 250)
        self.beneton.inserir_estado("ED")
        for x in range(1, 5):
            self.beneton.inserir_pose("dados/imagens/beneton_ED_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.beneton))

    def atualizar_atores(self):
        """ Atualiza os atores """
        ret_tela = self.tela.get_rect()
        if (self.beneton.rect.x < ret_tela.width - self.beneton.rect.width):
            self.beneton.rect.x += 8
        else:
            self.fim_jogo = True

    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((230, 230, 230))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_eventos_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_eventos_teclado(evento)

    def caminhar(self):
        """ Laco principal do Jogo - Caminhar """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        self.fim_jogo = False
        while (not self.fim_jogo):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)

    def rodar(self):
        """ Roda o jogo """
        menu = Menu(self.tela)
        menu_creditos = Menu_Creditos(self.tela)
        opcao = menu.rodar()
        while (opcao != 3):
            if (opcao == 1):
                self.caminhar()
            elif (opcao == 2):
                opcao = menu_creditos.rodar()
            opcao = menu.rodar()
Example #9
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600), FULLSCREEN)
        self.cenario = Cenario(self.tela)
        self.cenario.area.fill((65, 171, 73))
        self.cenario.construir()


    def criar_atores(self):
        """ Cria os atores """
        self.joyce = Ator(400, 300)
        self.joyce.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_ED_%02i.png" % x)
        self.joyce.inserir_estado("DirEsq")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_DE_%02i.png" % x)
        self.joyce.inserir_estado("CimaBaixo")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_CB_%02i.png" % x)
        self.joyce.inserir_estado("BaixoCima")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_BC_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.joyce))


    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.joyce.estado == "EsqDir"):
            if (self.joyce.rect.x < retangulo.width - 64 - 36):
                self.joyce.rect.x += 4
            self.cenario.mover(4, 0)
        elif (self.joyce.estado == "CimaBaixo"):
            if (self.joyce.rect.y < retangulo.height - 100 - 36):
                self.joyce.rect.y += 4
            self.cenario.mover(0, 4)
        elif (self.joyce.estado == "DirEsq"):
            if (self.joyce.rect.x > 36):
                self.joyce.rect.x -= 4
            self.cenario.mover(-4, 0)
        elif (self.joyce.estado == "BaixoCima"):
            if (self.joyce.rect.y > 36):
                self.joyce.rect.y -= 4
            self.cenario.mover(0, -4)


    def repintar_tela(self):
        """ Repinta a tela """
        self.cenario.repintar()
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()


    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit
        elif (evento.type == KEYDOWN):
            if (evento.key == K_UP):
                self.joyce.estado = "BaixoCima"
            elif (evento.key == K_DOWN):
                self.joyce.estado = "CimaBaixo"
            elif (evento.key == K_LEFT):
                self.joyce.estado = "DirEsq"
            elif (evento.key == K_RIGHT):
                self.joyce.estado = "EsqDir"


    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)


    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (True):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #10
0
class Jogo:
    """ Classe Jogo """
    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600), FULLSCREEN)

    def criar_atores(self):
        """ Cria os atores """
        self.bruno = Ator(50, 100)
        self.bruno.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_ED_%02i.png" % x)
        self.bruno.inserir_estado("DirEsq")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_DE_%02i.png" % x)
        self.bruno.inserir_estado("CimaBaixo")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_CB_%02i.png" % x)
        self.bruno.inserir_estado("BaixoCima")
        for x in range(1, 5):
            self.bruno.inserir_pose("imagens/bruno_BC_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.bruno))

    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.bruno.estado == "EsqDir"):
            self.bruno.rect.x += 8
        elif (self.bruno.estado == "CimaBaixo"):
            self.bruno.rect.y += 8
        elif (self.bruno.estado == "DirEsq"):
            self.bruno.rect.x -= 8
        elif (self.bruno.estado == "BaixoCima"):
            self.bruno.rect.y -= 8

    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((120, 120, 120))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit
        elif (evento.type == KEYDOWN):
            if (evento.key == K_UP):
                self.bruno.estado = "BaixoCima"
            elif (evento.key == K_DOWN):
                self.bruno.estado = "CimaBaixo"
            elif (evento.key == K_LEFT):
                self.bruno.estado = "DirEsq"
            elif (evento.key == K_RIGHT):
                self.bruno.estado = "EsqDir"

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)

    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (True):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #11
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))
        self.fim_jogo = False


    def criar_atores(self):
        """ Cria os atores """
        self.wil = Ator(50, 100)
        self.wil.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_ED_%02i.png" % x)
        self.wil.inserir_estado("DirEsq")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_DE_%02i.png" % x)
        self.wil.inserir_estado("CimaBaixo")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_CB_%02i.png" % x)
        self.wil.inserir_estado("BaixoCima")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_BC_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.wil))


    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.wil.estado == "EsqDir"):
            if (self.wil.rect.x < retangulo.width - 64 - 50):
                self.wil.rect.x += 8
            else:
                self.wil.estado = "CimaBaixo"
        elif (self.wil.estado == "CimaBaixo"):
            if (self.wil.rect.y < retangulo.height - 100 - 100):
                self.wil.rect.y += 8
            else:
                self.wil.estado = "DirEsq"
        elif (self.wil.estado == "DirEsq"):
            if (self.wil.rect.x > 0 + 50):
                self.wil.rect.x -= 8
            else:
                self.wil.estado = "BaixoCima"
        elif (self.wil.estado == "BaixoCima"):
            if (self.wil.rect.y > 0 + 100):
                self.wil.rect.y -= 8
            else:
                self.wil.estado = "EsqDir"


    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((255, 255, 255))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()


    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit


    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)


    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (not self.fim_jogo):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #12
0
class Jogo:
    """ Classe Jogo """
    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))
        self.fim_jogo = False

    def criar_atores(self):
        """ Cria os atores """
        self.wil = Ator(50, 100)
        self.wil.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_ED_%02i.png" % x)
        self.wil.inserir_estado("DirEsq")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_DE_%02i.png" % x)
        self.wil.inserir_estado("CimaBaixo")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_CB_%02i.png" % x)
        self.wil.inserir_estado("BaixoCima")
        for x in range(1, 5):
            self.wil.inserir_pose("imagens/wil_BC_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.wil))

    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.wil.estado == "EsqDir"):
            if (self.wil.rect.x < retangulo.width - 64 - 50):
                self.wil.rect.x += 8
            else:
                self.wil.estado = "CimaBaixo"
        elif (self.wil.estado == "CimaBaixo"):
            if (self.wil.rect.y < retangulo.height - 100 - 100):
                self.wil.rect.y += 8
            else:
                self.wil.estado = "DirEsq"
        elif (self.wil.estado == "DirEsq"):
            if (self.wil.rect.x > 0 + 50):
                self.wil.rect.x -= 8
            else:
                self.wil.estado = "BaixoCima"
        elif (self.wil.estado == "BaixoCima"):
            if (self.wil.rect.y > 0 + 100):
                self.wil.rect.y -= 8
            else:
                self.wil.estado = "EsqDir"

    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((255, 255, 255))
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()

    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit

    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)

    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (not self.fim_jogo):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)
Example #13
0
class Jogo:
    """ Classe Jogo """

    def __init__(self):
        """ Construtor:  __init__() -> instancia de jogo """
        pygame.init()
        self.tela = pygame.display.set_mode((800, 600))
        self.cenario = Cenario(self.tela)


    def criar_atores(self):
        """ Cria os atores """
        self.joyce = Ator(0, 200)
        self.joyce.inserir_estado("EsqDir")
        for x in range(1, 5):
            self.joyce.inserir_pose("imagens/joyce_ED_%02i.png" % x)
        self.grupo_atores = pygame.sprite.RenderPlain((self.joyce))


    def atualizar_atores(self):
        """ Atualiza os atores """
        retangulo = self.tela.get_rect()
        if (self.joyce.rect.x < retangulo.width - 64):
            self.joyce.rect.x += 8


    def repintar_tela(self):
        """ Repinta a tela """
        self.tela.fill((65, 171, 73))
        self.cenario.reconstruir_cenario() # <-- custo elevado :-(
        self.grupo_atores.update()
        self.grupo_atores.draw(self.tela)
        pygame.display.flip()


    def tratar_evento_teclado(self, evento):
        """ Observa e trata os eventos """
        tecla = evento.key
        if ((tecla == K_ESCAPE) or (tecla == K_q)):
            raise SystemExit


    def tratar_eventos(self):
        """ Observa e trata os eventos """
        for evento in pygame.event.get():
            if (evento.type == QUIT):
                raise SystemExit
            if (evento.type == KEYDOWN):
                self.tratar_evento_teclado(evento)


    def rodar(self):
        """ Roda o jogo """
        self.criar_atores()
        FPS = 8
        relogio = pygame.time.Clock()
        while (True):
            self.tratar_eventos()
            self.atualizar_atores()
            self.repintar_tela()
            relogio.tick(FPS)