class JogoPedraPapelTesoura(Jogo): def __init__(self): self.__textos = dicionario self.__propriedades = propriedades print(self.__propriedades) self.__valor_tentativa = "" self.__pontuacao = PontuacaoJogos("pedra_papel_tesoura") def introducao(self): print(self.__textos.introducao) def interacao(self): self.__pedra_papel_tesoura = PedraPapelTesoura(self.__sorteia()) self.__pontuacao.pontos_iniciais( self.__propriedades['pontos_iniciais']) total_de_tentativas = self.__propriedades['tentativas'] print(self.__textos.interacoes.format(total_de_tentativas)) try: self.__valor_tentativa = int(input(self.__textos.informe_entrada)) self.acertou = self.__pedra_papel_tesoura.jogo( self.__valor_tentativa) if not self.acertou: self.__pontuacao.perdeu_pontos( self.__propriedades['pontos_decremento']) except ValueError as erro: print(erro) def pontuacao_rodada(self): return self.__pontuacao.pontuacao_rodada() def mensagem_final(self): print(self.__textos.espacamento) if self.acertou: print( self.__textos.mensagem_final_acertou.format( self.__pedra_papel_tesoura.valor_sorteado().name, EnumPPT(self.__valor_tentativa).name)) else: print( self.__textos.mensagem_final_errou.format( self.__pedra_papel_tesoura.valor_sorteado().name, EnumPPT(self.__valor_tentativa).name)) def __sorteia(self): return random.choice(list(EnumPPT))
def interacao(self): self.__pedra_papel_tesoura = PedraPapelTesoura(self.__sorteia()) self.__pontuacao.pontos_iniciais( self.__propriedades['pontos_iniciais']) total_de_tentativas = self.__propriedades['tentativas'] print(self.__textos.interacoes.format(total_de_tentativas)) try: self.__valor_tentativa = int(input(self.__textos.informe_entrada)) self.acertou = self.__pedra_papel_tesoura.jogo( self.__valor_tentativa) if not self.acertou: self.__pontuacao.perdeu_pontos( self.__propriedades['pontos_decremento']) except ValueError as erro: print(erro)
def test_jogar_pedra_contra_pedra_para_perder(self): jogo = PedraPapelTesoura(EnumPPT.PEDRA) teste = jogo.jogo(1) self.assertEqual(teste, False)
def test_jogar_papel_contra_tesoura_para_peder(self): jogo = PedraPapelTesoura(EnumPPT.TESOURA) teste = jogo.jogo(2) self.assertEqual(teste, False)
def test_jogar_pedra_contra_tesoura_para_ganhar(self): jogo = PedraPapelTesoura(EnumPPT.TESOURA) teste = jogo.jogo(1) self.assertEqual(teste, True)
def test_jogar_tesoura_contra_papel_para_ganhar(self): jogo = PedraPapelTesoura(EnumPPT.PAPEL) teste = jogo.jogo(3) self.assertEqual(teste, True)