def test_preco_casa(self): # identificador, proprietario, quantidade_quartos, quantidade_vagas_garagem, quantidade_pavimentos, area_pavimento # , preco_m2_area_pavimento, area_livre, preco_m2_area_livre casa1 = Casa(48251, 'Eduardo Pelegrineti Targueta', 4, 9, 3, 688.3, 310, 309.2, 3945) preco_casa1 = casa1.calcular_preco() self.assertEqual(preco_casa1, 1859913.0)
def geraMovimentoAPartirDeRowEColumn(self, inicialRow, inicialColumn, finalRow, finalColumn): inicialNumero = 7 - inicialRow inicialLetra = chr(ord('a') + inicialColumn) casaInicial = Casa(inicialLetra, inicialNumero) finalNumero = 7 - finalRow finalLetra = chr(ord('a') + finalColumn) casaFinal = Casa(finalLetra, finalNumero) movimento = Movimento(casaInicial, casaFinal) return movimento
def build_inventario(self, gui, doc): """ """ # Criando as casas do inventario self.inventario = [ Casa(casa_visual, None, self, "inventario", gui) for casa_visual in gui.build_inventario(gui) ] # Criando as pecas id_pecas = range(self.range[0], self.range[1]) random.shuffle(id_pecas) pecas = [ gui.build_peca(casa.casa_visual, id) for id, casa in zip(id_pecas, self.inventario) ] #pecas = [gui.build_peca(casa.casa_visual, id) for id,casa in enumerate(self.inventario)] map_pecas = {} # Alocando uma peca para cada casa do inventario for peca, casa in zip(pecas, self.inventario): map_pecas[peca.id] = casa casa.peca = peca casa.num_pecas_inicial = (PEC_H * PEC_V) self.map_pecas = map_pecas # Atrelando o mapeamento de pecas (informa a casa de uma determinada peca) nas casas do inventario for casa in self.inventario: casa.map_pecas = map_pecas
def criar_casa(file, ident, nome_proprietario, quantidade_quartos, quantidade_vagas): quantidade_pavimentos = get_linha_formatada(file) area_pavimento = get_linha_formatada(file) preco_m2_area_pavimento = get_linha_formatada(file) area_livre = get_linha_formatada(file) preco_m2_area_livre = get_linha_formatada(file) return Casa(ident, nome_proprietario, quantidade_quartos, quantidade_vagas, quantidade_pavimentos, area_pavimento, preco_m2_area_pavimento, area_livre, preco_m2_area_livre)
def on_time(self): super(ProcurarPolicial, self).on_time() display_message(self.agent.aid.localname, 'Pocial Decidindo!') if (self.agent.casaChamado != None): self.moverAteLocal() elif (not (len(self.agent.chamados) == 0)): casaNova = self.agent.chamados.popleft() self.agent.casaChamado = Casa(casaNova['linha'], casaNova['coluna']) else: display_message(self.agent.aid.localname, 'Esperando chamado!')
def iniciar_tabuleiro(self): """ Preenche a matriz de controle (vetor_de_controle) com as casas instanciando uma casa para cada posição. :return: """ for i in range(0, 8, 1): self.vetor_de_Controle.append([]) for j in range(0, 8, 1): self.vetor_de_Controle[i].append( Casa(self.objectGroup, display=self.display, posicao_na_matriz=(i, j))) self.iniciar_pecas()
def desireAndarProximaCasa(self): linha = self.agent.casaAtual.linha coluna = self.agent.casaAtual.coluna proximaLinha = random.randint(-1, 1) + linha proximaColuna = random.randint(-1, 1) + coluna colunas = Matriz.COLUNAS.value linhas = Matriz.LINHAS.value while ((proximaLinha == linha) and (proximaColuna == coluna)) or ((proximaColuna >= colunas) or (proximaLinha >= linhas)): proximaLinha = random.randint(-1, 1) + linha proximaColuna = random.randint(-1, 1) + coluna return Casa(proximaLinha, proximaColuna)
def getListaMovimentos (self): listaJogadas = [] jogadas = input ("Insira sua jogadas. Cada jogada deve estar demarcada entre \": ") jogadas = jogadas.split ("\"") for jogada in jogadas: if (jogada and not jogada == " "): separados = jogada.split (" ") letraInicial = separados [0] numeroInicial = int (separados [1]) casaInicial = Casa (letraInicial, numeroInicial) letraFinal = separados [2] numeroFinal = int(separados [3]) casaFinal = Casa (letraFinal, numeroFinal) movimento = Movimento (casaInicial, casaFinal) listaJogadas.append (movimento) return listaJogadas
class Incendiario(Agent): linha = random.randint(0, 9) coluna = random.randint(0, 9) casaAtual = Casa(linha, coluna) def __init__(self, aid): super(Incendiario, self).__init__(aid=aid, debug=False) comp_temp = Incendiar(self, 2.0) self.behaviours.append(comp_temp) def react(self, message): display_message(self.aid.localname, 'Mensagem recebida') if (message == "Processo Morto"): sys.exit()
def desireAndarProximaCasa(self): linha = self.agent.casaAtual.linha coluna = self.agent.casaAtual.coluna proximaLinha = 0 proximaColuna = 0 colunas = Matriz.COLUNAS.value linhas = Matriz.LINHAS.value if (coluna + 1 >= colunas): #Quando a linha tiver acabado if (not (linha + 1 >= linhas)): #Quando o cenário não tiver acabado proximaLinha = linha + 1 else: proximaColuna = coluna + 1 proximaLinha = linha return Casa(proximaLinha, proximaColuna)
def escolherProximaCasa(self): colunaCasaAtual = self.agent.casaAtual.coluna colunaCasaChamado = self.agent.casaChamado.coluna colunaProximaCasa = colunaCasaAtual linhaCasaAtual = self.agent.casaAtual.linha linhaCasaChamado = self.agent.casaChamado.linha linhaProximaCasa = linhaCasaAtual if (colunaCasaChamado - colunaCasaAtual < 0): colunaProximaCasa = colunaCasaAtual - 1 elif (colunaCasaChamado - colunaCasaAtual > 0): colunaProximaCasa = colunaCasaAtual + 1 elif (linhaCasaChamado - linhaCasaAtual < 0): linhaProximaCasa = linhaCasaAtual - 1 elif (linhaCasaChamado - linhaCasaAtual > 0): linhaProximaCasa = linhaCasaAtual + 1 return Casa(linhaProximaCasa, colunaProximaCasa)
class Civil(Agent): casaAtual = Casa(9, 9) bombeiro = None policial = None def __init__(self, aid, bombeiro, policial): super(Civil, self).__init__(aid=aid, debug=False) self.bombeiro = bombeiro self.policial = policial comp_temp = Passear(self, 0.06) self.behaviours.append(comp_temp) def mandarMensagem(self, port, host, casa): s = socket.socket() s.connect((host, port)) s.send(casa) s.close()
def mover_peca(self, casa_destino: Casa): """ Move a atual peça selecionada para a casa escolhida. Considera jogadas especiais. :param casa_destino: Casa que foi escolhida para a peça ser movida. :return: """ peca_movida: PecaBase = self.casa_selecionada.peca peca_movida.movimentos += 1 self.casa_selecionada.remover_peca() if casa_destino.is_roque: casa_destino.inserir_peca(peca_movida) i = casa_destino.posicao_na_matriz[0] if casa_destino.posicao_na_matriz[1] > 4: torre = self.vetor_de_Controle[i][7].peca torre.movimentos += 1 self.vetor_de_Controle[i][7].remover_peca() self.vetor_de_Controle[i][5].inserir_peca(torre) if casa_destino.posicao_na_matriz[1] < 4: torre = self.vetor_de_Controle[i][0].peca torre.movimentos += 1 self.vetor_de_Controle[i][0].remover_peca() self.vetor_de_Controle[i][3].inserir_peca(torre) elif casa_destino.is_en_passant: casa_destino.inserir_peca(peca_movida) i = casa_destino.posicao_na_matriz[0] j = casa_destino.posicao_na_matriz[1] if casa_destino.peca.tonalidade == 'claro': self.vetor_de_Controle[i + 1][j].remover_peca(True) else: self.vetor_de_Controle[i - 1][j].remover_peca(True) else: casa_destino.inserir_peca(peca_movida) self.promocao() self.trocar_vez() # IA: if modoJogo == 2: IA(self)
class Policial(Agent): casaAtual = Casa(9, 0) respondendoChamado = True #True para testar casaChamado = None comunicacao = None chamados = deque([]) bombeiro = None def __init__(self, aid, portC): super(Policial, self).__init__(aid=aid, debug=False) comp_temp = ProcurarPolicial(self, 0.3) self.behaviours.append(comp_temp) self.comunicacao = ComunicacaoServer(portC) thread = threading.Thread(target=self.ligarServidor, args=()) thread.start() def ligarServidor(self): while True: casa = self.comunicacao.ouvirCliente() if (casa not in self.chamados): self.chamados.append(casa) def mandarMensagem(self, port, host, casa): s = socket.socket() s.connect((host, port)) s.send(casa) s.close() def getPort(self): return self.comunicacao.port def getHost(self): return self.comunicacao.host
from casa import Casa casa1 = Casa(2, 3, 5, 6, 1) casa2 = Casa(3, 1, 5, 2, 3) print(casa1.getInfo()) print(casa2.getInfo())
from relogio import Relogio from personagem import Personagem from casa import Casa if(__name__ == "__main__"): # Pesquisar significado desse if dia = 1 relogio = Relogio() personagem = Personagem() casa = Casa() cafe_da_manha = False while True: print("---") print("São "+str(relogio)+" do dia "+str(dia)+". Você tem que sair pro trabalho até às 07:00.") print(personagem) print("") print("Ações:") print("1 - Tomar banho e escovar os dentes") print("2 - Fazer café da manhã") print("3 - Pedir café da manhã") print("4 - Tomar café da manhã") print("5 - Tomar remédio") print("6 - Comprar remédio") print("7 - Ir trabalhar") print("0 - Sair do jogo") opcao = input("Escolha sua ação:") if(opcao == "1"): personagem.sujo = False relogio.avancaTempo(20) elif(opcao == "2"): if(casa.comida > 0): casa.comida -= 1
def CriaCasa(): if len(casas) < 5: casas.append(Casa(canvas, ultimoClick.x, ultimoClick.y))
def prompt_init(): init = Casa.prompt_init() init.update(Compra.prompt_init()) return init
def build_alvos(self, gui): """ """ self.alvos = [ Casa(casa_visual, self.map_pecas, self, "alvo") for casa_visual in gui.build_alvos(gui) ]
def prompt_init(): init = Casa.prompt_init() init.update(Alquiler.prompt_init()) return init
def __init__(self, costo, direccion, numero=None): Casa.__init__(self, costo, direccion, numero) if (numero is None): numero = [] self.__numero = numero
from tabuleiro import Tabuleiro from movimento import Movimento from casa import Casa from variaveisGlobais import VariaveisGlobais # Tester movimento no tabuleiro listaMovimento = [] #PRIMEIRO TESTE print ("Começando teste 1:") print ("Tabuleiro inicial teste 1:") tabuleiro = Tabuleiro (VariaveisGlobais.TABULEIRO_TESTE) tabuleiro.printaTabuleiro () casaInicial = Casa ("a", 2) casaFinal = Casa ("c", 4) movimento1 = Movimento (casaInicial, casaFinal) casaInicial = Casa ("c", 4) casaFinal = Casa ("e", 6) movimento2 = Movimento (casaInicial, casaFinal) listaMovimento.append (movimento1) listaMovimento.append (movimento2) print ("Tabuleiro apos movimento teste 1:") tabuleiro.doMultipleMovementsComer (listaMovimento) tabuleiro.printaTabuleiro () listaMovimento.clear ()