static void Main(string[] args) { var testemunha = new Testemunha(); int criminoso; int local; int arma; int dica; // Escreva seu código aqui. do { //Coleta de informações sobre o caso. //Criminoso Console.Write(" 1 - Advogado Sr. Marinho\n 2 - Chef. de Cozinha Tony Gourmet\n 3 - Coveiro Sérgio Sortuno\n 4 - Dançarina Srta. Rosa" + "\n 5 - Florista Dona Branca\n 6 - Médica Dona Violeta\n 7 - Mordomo James\n 8 - Sargento Bigode\n QUAL O CRIMINOSO?: "); criminoso = int.Parse(Console.ReadLine()); //Local Console.Write(" \n 1 - Biblioteca\n 2 - Cozinha\n 3 - Hall\n 4 - Escritório\n 5 - Sala de estar\n 6 - Sala de Jantar\n 7 - Sala de música" + "\n 8 - Salão de festas\n 9 - Salão de jogos\n QUAL O LOCAL DO CRIME?: "); local = int.Parse(Console.ReadLine()); //Arma Console.Write(" \n 1 - Castiçal\n 2 - Cano\n 3 - Chave Inglesa\n 4 - Corda\n 5 - Revólver\n 6 - Faca\n QUAL A ARMA UTILIZADA?: "); arma = int.Parse(Console.ReadLine()); testemunha.Interrogar(criminoso, local, arma); //Respostas da testemunha. dica = testemunha.Interrogar(criminoso, local, arma); switch (dica) { case 1: Console.WriteLine("\n 1 - O assassino está incorreto"); break; case 2: Console.WriteLine("\n 2 - O local está incorreto"); break; case 3: Console.WriteLine("\n 3 - A arma está incorreto"); break; case 0: Console.Clear(); Console.WriteLine(" 0 - Parabéns você solucionou o caso"); Console.WriteLine(" Número de Tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); Console.WriteLine("\n Tecle qualque tecla para sair!!"); Console.ReadKey(); Environment.Exit(0); break; } Console.WriteLine(" Pressione qualquer tecla para uma nova tentativa ou ESC para fechar a aplicação."); if (Console.ReadKey().Key == ConsoleKey.Escape) { Environment.Exit(0); } Console.Clear(); } while (testemunha.Interrogar(criminoso, local, arma) != 0); }
static void Main(string[] args) { var testemunha = new Testemunha(); // Escreva seu código aqui. int aux = 1; //Flag do { Console.Clear(); try { Console.Write("Suspeito: "); int criminoso = int.Parse(Console.ReadLine()); Console.Write("\nLocal: "); int local = int.Parse(Console.ReadLine()); Console.Write("\nArma: "); int arma = int.Parse(Console.ReadLine()); aux = testemunha.Interrogar(criminoso, local, arma); Console.WriteLine("\nRetorno: {0}", aux); if (aux != 0) { if (aux == 3) { Console.WriteLine("Arma incorreta."); } else if (aux == 2) { Console.WriteLine("Local incorreto."); } else if (aux == 1) { Console.WriteLine("Assassino incorreto."); } } else { Console.WriteLine("\nVocê acertou!\n"); } } catch (FormatException) { Console.WriteLine("Opção inválida!"); } } while (Console.ReadKey().Key != ConsoleKey.Escape && aux != 0); Console.WriteLine("Número de Tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); Console.ReadKey(); }
static void Main(string[] args) { var testemunha = new Testemunha(); // Escreva seu código aqui. int tCriminoso; var tstCriminoso = new Random(); tCriminoso = tstCriminoso.Next(1, 8); //Laço de repetição para validar os parametros e testar os mesmos n vezes até encontrar a combinação correta while (true) { var criminoso = new Random(); int Criminoso = criminoso.Next(1, 9); Thread.Sleep(50); var local = new Random(); int Local = local.Next(1, 10); Thread.Sleep(50); var arma = new Random(); int Arma = arma.Next(1, 7); int op = testemunha.Interrogar(Criminoso, Local, Arma); Console.WriteLine(op); Console.WriteLine("Total de tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); if (op == 0) { break; } } Console.WriteLine(testemunha.Interrogar(6, 4, 4)); Console.WriteLine("Número de Tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); Console.ReadKey(); }
// Função que interroga a testemunha enquanto houver resposta errada. public int Interroga(Testemunha testemunha) { int resposta = testemunha.Interrogar(CriminosoTemporario, LocalTemporario, ArmaTemporaria); // Enquanto houver resposta errada irá adicionar 1 no item incorreto. while (resposta != 0) { if (resposta == 1) { CriminosoTemporario++; } else if (resposta == 2) { LocalTemporario++; } else { ArmaTemporaria++; } resposta = testemunha.Interrogar(CriminosoTemporario, LocalTemporario, ArmaTemporaria); } // Atribuindo o valor correto que corresponde a cada item. Criminoso = CriminosoTemporario; Local = LocalTemporario; Arma = ArmaTemporaria; // Exibição. Console.WriteLine("Criminoso = " + Criminoso); Console.WriteLine("Local = " + Local); Console.WriteLine("Arma = " + Arma); Console.WriteLine(""); return(1); }
static void Main(string[] args) { var testemunha = new Testemunha(); var encontrou = false; var criminoso = 1; var local = 1; var arma = 1; // Formula uma nova teoria enquanto o que foi perguntado for diferente do que a testemunha viu. while (!encontrou) { int retorno = testemunha.Interrogar(criminoso, local, arma); if (retorno == 1) { criminoso++; } else if (retorno == 2) { local++; } else if (retorno == 3) { arma++; } else if (retorno == 0) { encontrou = true; } } Dicionario dicionario = new Dicionario(); string nomeCriminoso = dicionario.BuscaCriminoso(criminoso); string descricaoLocal = dicionario.BuscaLocal(local); string tipoArma = dicionario.BuscaArma(arma); Console.WriteLine($"DADOS DO CRIME {Environment.NewLine}"); Console.WriteLine($"Nome do criminoso: {nomeCriminoso}"); Console.WriteLine($"Local do crime: {descricaoLocal}"); Console.WriteLine($"Arma utilizada: {tipoArma} {Environment.NewLine}"); Console.WriteLine("Número de Tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); Console.ReadKey(); }
static void Main(string[] args) { var testemunha = new Testemunha(); //Variaveis int suspeito; int local; int arma; int resposta; int finalizar = 1; Console.WriteLine("JOGO - DETETIVE\n" + "--------------------------------------------------\n"); try { do { //Coletar o SUSPEITO escolhido pelo jogador Helpers.Helpers.PerguntaSuspeito(); suspeito = int.Parse(Console.ReadLine()); /* * Caso o número informado for menor ou maior do que as opções * dadas, entrara em um loop até que seja informado o valor * corretamente. */ while (suspeito < 1 || suspeito > 8) { Console.WriteLine("ATENCÃO: Suas opções são de 1 a 8!" + "\nPrecione qualquer tecla para continuar...\n"); Console.ReadKey(); Console.Clear(); Helpers.Helpers.PerguntaSuspeito(); suspeito = int.Parse(Console.ReadLine()); } Console.Clear(); //Coletar o LOCAL escolhido pelo jogador Helpers.Helpers.PerguntaLocal(); local = int.Parse(Console.ReadLine()); /* * Caso o número informado for menor ou maior do que as opções * dadas, entrara em um loop até que seja informado o valor * corretamente. */ while (local < 1 || local > 9) { Console.WriteLine("ATENCÃO: Suas opções são de 1 a 9!" + "\nPrecione qualquer tecla para continuar...\n"); Console.ReadKey(); Console.Clear(); Helpers.Helpers.PerguntaLocal(); local = int.Parse(Console.ReadLine()); } Console.Clear(); //Coletar o ARMA escolhido pelo jogador Helpers.Helpers.PerguntaArma(); arma = int.Parse(Console.ReadLine()); /* * Caso o número informado for menor ou maior do que as opções * dadas, entrara em um loop até que seja informado o valor * corretamente. */ while (arma < 1 || arma > 6) { Console.WriteLine("ATENCÃO: Suas opções são de 1 a 6!" + "\nPrecione qualquer tecla para continuar...\n"); Console.ReadKey(); Console.Clear(); Helpers.Helpers.PerguntaArma(); arma = int.Parse(Console.ReadLine()); } Console.Clear(); //------------------------------------------------------------------------------------- //Exibe as opções escolhidas pelo jogador Console.WriteLine("Escolhidos: \n" + "Suspeito: " + suspeito + " - " + Helpers.Helpers.RetornaSuspeito(suspeito) + "\nLocal: " + local + " - " + Helpers.Helpers.RetornaLocal(local) + "\nArma: " + arma + " - " + Helpers.Helpers.RetornaArma(arma) ); resposta = testemunha.Interrogar(suspeito, local, arma); /* * Caso a resposta seja diferente de 0, ou seja, * diferente de "Todos corretos, você solucionou o caso" * O código vai exibir apenas a resposta sem o número de tentativas. */ if (resposta != 0) { Console.WriteLine("\n\nResposta.: " + Helpers.Helpers.VerificaResposta(resposta)); Console.WriteLine("\nDigite 1 para continuar ou 0 para finalizar"); finalizar = int.Parse(Console.ReadLine()); while (finalizar < 0 || finalizar > 1) { Console.WriteLine("ATENCÃO: Suas opções são de 1 a 0!"); Console.WriteLine("\nDigite 1 para continuar ou 0 para finalizar"); finalizar = int.Parse(Console.ReadLine()); } Console.Clear(); } else { Console.WriteLine("\n\nResposta.: " + Helpers.Helpers.VerificaResposta(resposta)); Console.WriteLine("Número de Tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); Console.WriteLine("\nPressione qualquer tecla finalizar..."); Console.ReadKey(); Console.Clear(); } } while (resposta != 0 && finalizar != 0); } catch (FormatException e) { Console.WriteLine("Erro: Programa será fechado!" + "\nDeve-se digitar números inteiros ao invés de letras ou caracteres."); Console.ReadKey(); Console.Clear(); } Console.WriteLine("Obrigado por jogar!!!" + "\nVolte sempre!!!"); Console.ReadKey(); }
static void Main(string[] args) { var testemunha = new Testemunha(); //Para testar a funcionalidade do algoritmo //Console.WriteLine("Opções escolhidas pelo computador:\n"); //Console.WriteLine("Criminoso - "+ testemunha.Criminoso); //Console.WriteLine("Local - " + testemunha.Local); //Console.WriteLine("Arma - " + testemunha.Arma); //Console.WriteLine("\n"); //Variáveis locais int criminoso; int local; int arma; int retorno = 1; //Loop do { try { Console.WriteLine("Digite o número referente ao criminoso dentre as pções abaixo:\n" + "1 - Advogado Sr.Marinho\n" + "2 - Chef.de Cozinha Tony Gourmet\n" + "3 - Coveiro Sérgio Sortuno\n" + "4 - Dançarina Srta.Rosa\n" + "5 - Florista Dona Branca\n" + "6 - Médica Dona Violeta\n" + "7 - Mordomo James\n" + "8 - Sargento Bigode\n"); criminoso = Convert.ToInt16(Console.ReadLine()); Console.WriteLine("\nDigite o número referente ao local dentre as pções abaixo:\n" + "1 - Biblioteca\n" + "2 - Cozinha\n" + "3 - Hall\n" + "4 - Escritório\n" + "5 - Sala de estar\n" + "6 - Sala de jantar\n" + "7 - Sala de música\n" + "8 - Salão de festas\n" + "9 - Salão de jogos\n"); local = Convert.ToInt16(Console.ReadLine()); Console.WriteLine("\nDigite o número referente ao local dentre as pções abaixo:\n" + "1 - Castiçal\n" + "2 - Cano\n" + "3 - Chave inglesa\n" + "4 - Corda\n" + "5 - Revólver\n" + "6 - Faca\n"); arma = Convert.ToInt16(Console.ReadLine()); //Retornar resultado da investigação retorno = testemunha.Interrogar(criminoso, local, arma); if (retorno == 0) { Console.WriteLine("Parabéns, você descobriu qual foi o criminoso, o local e a arma!\n"); } else if (retorno == 1) { Console.WriteLine("Retorno: " + retorno + " - Este não foi o criminoso."); } else if (retorno == 2) { Console.WriteLine("Retorno: " + retorno + " - Este não foi o local do crime."); } else if (retorno == 3) { Console.WriteLine("Retorno: " + retorno + " - Esta não foi a arma usada."); } Console.ReadKey(); Console.Clear(); } //Evita dar erro caso for digitada uma opção incorreta catch (FormatException) { Console.WriteLine("Opção inválida, tente novamente"); } }while (retorno != 0); //Fim do algoritmo Console.WriteLine("Número de Tentativas: " + testemunha.ObterNumeroInterogatoriosRealizados()); Console.ReadKey(); }