public void EstadoDoJogo()
        {
            //Instancia classe para apresentação das mensagens em tela
            IInteracaoComUsuario interacaoComUsuario = new InteracaoPorWindowsForm();

            //Classe aprende, responsavel por fazer a criação da nova habilidade e do animal
            Aprende aprende = new Aprende(interacaoComUsuario);

            //preserva o animal da resposta sim em todos os laços
            AfirmaVitoria afirmaVitoria = new AfirmaVitoria(interacaoComUsuario);

            //Cria animal para primeira execução do jogo
            Animal animalAquatico = new Animal(afirmaVitoria, aprende, "Baleia", interacaoComUsuario);
            Animal animalTerrestre = new Animal(afirmaVitoria, aprende, "Macaco", interacaoComUsuario);

            //Cria habilidade para primeira execução do jogo
            Habilitadade habilidade = new Habilitadade(animalAquatico, animalTerrestre, "vive na água", interacaoComUsuario);

            //Valida se habilidade criada não é nula
            Assert.IsNotNull(habilidade);

            //Executa o jogo dos animais até que o usuário queira sair
            do
            {
                habilidade.Executar(habilidade);
            }
            while (System.Windows.Forms.MessageBox.Show("Deseja jogar novamente", "", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes);
        }
 private Habilitadade criaNovaHabilidadeComAnimais(Acao animalAntigo, string animal, string habilidade)
 {
     Animal novoAnimal = new Animal(new AfirmaVitoria(this.INTERACAO_COM_USUARIO), this, animal, this.INTERACAO_COM_USUARIO);
     return new Habilitadade(novoAnimal, animalAntigo, habilidade, this.INTERACAO_COM_USUARIO);
 }