class AbstractNacaoBuilder(NacaoBuilder): nacao = None fabricaOfensores = None fabricaDefensores = None def criarNacao(self, nome): self.nacao = Nacao() self.nacao.setNome(nome) def fazerDefensores(self, listDefensores): num = len(listDefensores) cont = 0 dados = [] listDefensoresProntos = [] while cont < num: dados = listDefensores[cont] defensor = self.fabricaDefensores.criarGuerreiro(dados[0], dados[1], dados[2], dados[3]) listDefensoresProntos.append(defensor) cont+=1 self.nacao.setDefensores(listDefensoresProntos) def fazerOfensores(self, listOfensores): num = len(listOfensores) cont = 0 dados = [] listOfensoresProntos = [] while cont < num: dados = listOfensores[cont] ofensor = self.fabricaOfensores.criarGuerreiro(dados[0], dados[1], dados[2], dados[3]) listOfensoresProntos.append(ofensor) cont+=1 self.nacao.setOfensores(listOfensoresProntos) def getNacao(self): return self.nacao
def verificarLutar(self): nacaoAtacante = Nacao() nacaoDefensora = Nacao() resultado = 0 nacaoAtacante.setNome('China\n') nacaoDefensora.setNome('Japao\n') ofensorAtaque = [(Chunku('paulo',24,66))] OfensorDefesa = [(MangaldeDefesa('Matheus',24,66))] nacaoAtacante.setOfensores(ofensorAtaque) nacaoAtacante.setDefensores(OfensorDefesa) defensorAtaque = [(Samurai('Gustavao',24,66))] defensorDefesa = [(TanTan('paulo',24,66))] nacaoDefensora.setOfensores(defensorAtaque) nacaoDefensora.setDefensores(defensorDefesa) batalha = Batalha() batalha.setParamentros(nacaoAtacante,nacaoDefensora) batalha.lutar() if nacaoAtacante.sizeDefensores() == resultado or nacaoDefensora.sizeDefensores() == resultado: print 'True'
def verificar_nacao_atacante(self): nacaoAtacante = Nacao() nacaoDefensora = Nacao() resultado = 'paulo' nacaoAtacante.setNome('China\n') nacaoDefensora.setNome('Japao\n') ofensorAtaque = [(Chunku('paulo',24,66)), (Chunku('alberto',30,20))] OfensorDefesa = [(MangaldeDefesa('Matheus',24,66)), (MangaldeDefesa('Viadins',30,20))] nacaoAtacante.setOfensores(ofensorAtaque) nacaoAtacante.setDefensores(OfensorDefesa) defensorAtaque = [(Samurai('Gustavao',24,66)), (Samurai('Otario',30,20))] defensorDefesa = [(TanTan('paulo',24,66)), (TanTan('alberto',30,20))] nacaoDefensora.setOfensores(defensorAtaque) nacaoDefensora.setDefensores(defensorDefesa) batalha = Batalha() batalha.setParamentros(nacaoAtacante,nacaoDefensora) if batalha.ofensor.getNome() == resultado: print 'True'
def criarNacao(self, nome): self.nacao = Nacao() self.nacao.setNome(nome)
class Batalha(object): __nacao1 = None __nacao2 = None def __init__(self): self.__nacao1 = Nacao() self.__nacao2 = Nacao() def carregar(self): daoNacao = DAONacao() self.__nacao1.setNome(daoNacao.leituraNome(daoNacao.getArquivo1())) self.__nacao2.setNome(daoNacao.leituraNome(daoNacao.getArquivo2())) self.__nacao1.setOfensores(daoNacao.leituraAtacantes(daoNacao.getArquivo1())) self.__nacao2.setOfensores(daoNacao.leituraAtacantes(daoNacao.getArquivo2())) self.__nacao1.setDefensores(daoNacao.leituraDefensores(daoNacao.getArquivo1())) self.__nacao2.setDefensores(daoNacao.leituraDefensores(daoNacao.getArquivo2())) def lutar(self): sorteio = randint(1,2) vezAtaque = None if sorteio == 1: vezAtaque = 1 else: vezAtaque = 2 while self.__nacao1.sizeOfensor()!= 0 and self.__nacao1.sizeDefensores()!=0 and self.__nacao2.sizeOfensor()!=0 and self.__nacao2.sizeDefensores()!=0: if vezAtaque == 1: nacaoAtaque = self.__nacao1 nacaoDefesa = self.__nacao2 ofensor = self.__nacao1.getLutador() ofensoresAtacantes = self.__nacao1.getOfensores() defensoresAtacantes = self.__nacao1.getDefensores() ofesoresDefesa = self.__nacao2.getOfensores() defensoresDefesa = self.__nacao2.getDefensores() defensor = self.__nacao2.getDefensor() proxAtaque = 2 else: nacaoAtaque = self.__nacao2 nacaoDefesa = self.__nacao1 ofensor = self.__nacao2.getLutador() ofensoresAtacantes = self.__nacao2.getOfensores() defensoresAtacantes = self.__nacao2.getDefensores() ofesoresDefesa = self.__nacao1.getOfensores() defensoresDefesa = self.__nacao1.getDefensores() defensor = self.__nacao1.getDefensor() proxAtaque = 1 while defensor.getEnergia()>0 and len(ofensoresAtacantes)>0: ofensor.atacar(defensor,ofensoresAtacantes,defensoresAtacantes,defensoresDefesa) defensor.defender(ofensor,defensoresDefesa,ofesoresDefesa,ofensoresAtacantes) print ofensor.getEnergia() if(ofensor.getEnergia()>0): nacaoAtaque.adcionarOfensor(ofensor) ofensor = None ofensor = nacaoAtaque.getLutador() vezAtaque = proxAtaque def gerarResultados(self): tela = TelaBatalha() empate = 0 if self.__nacao1.sizeOfensor() == 0 and self.__nacao2.sizeDefensores() == 0 or self.__nacao2.sizeOfensor() == 0 and self.__nacao1.sizeDefensores() == 0: tela.menssagem("EMPATE - A PAZ REINOU") empate = 1 if self.__nacao1.sizeOfensor() == 0 and empate == 0: tela.menssagem("A nacao vencedora foi %s" %self.__nacao2.getNome()) tela.menssagem("A nacao perdedora foi %s" %self.__nacao1.getNome()) tela.menssagem("Acabaram os guerreiros ofensores") if self.__nacao1.sizeDefensores() == 0 and empate == 0: tela.menssagem("A nacao vencedora foi: %s" %self.__nacao2.getNome()) tela.menssagem("A nacao perdedora foi: %s"%self.__nacao1.getNome()) tela.menssagem("Acabaram os guerreiro defensores") if self.__nacao2.sizeOfensor == 0 and empate == 0: tela.menssagem("A nacao vencedora foi: %s" %self.__nacao1.getNome()) tela.menssagem("A nacao perdedora foi: %s" %self.__nacao2.getNome()) tela.menssagem("Acabaram os guerreiro ofensores") if self.__nacao2.sizeDefensores() == 0 and empate == 0: tela.menssagem("A nacao vencedora foi: %s" %self.__nacao1.getNome()) tela.menssagem("A nacao perdedora foi: %s" %self.__nacao2.getNome()) tela.menssagem("Acabaram os guerreiro defensores")
def __init__(self): self.__nacao1 = Nacao() self.__nacao2 = Nacao()