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)
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)
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)
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)
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)
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()
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()
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)
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)