private static void Start() { int jogadasV, winsJ = 0, winsC = 0; string nome, jogadaJ, jogadaC; Console.Clear(); Printer.PrintHeader("Pedra, Papel ou Tesoura", 2, 2, ConsoleColor.Green, ConsoleColor.Yellow, '#'); jogadasV = InputRequest.RequestInt("Quantas jogadas são necessárias para um jogador vencer?", true); nome = InputRequest.RequestString("Qual o nome do jogador?"); while (nome.Length > 20) { nome = InputRequest.RequestString("O nome tem de ter menos de 20 caracteres"); } while (true) { Console.Clear(); Pontuacao(nome, winsJ, winsC, jogadasV); jogadaJ = JogadaJ(); jogadaC = JogadaC(); Console.WriteLine($"Computador:\n{jogadaC}"); int w = RoundW(jogadaC, jogadaJ); if (w == -1) { winsC++; Console.WriteLine("Vitória do Computador!\n"); } else if (w == 1) { winsJ++; Console.WriteLine($"Vitória do Jogador {nome}!\n"); } else { Console.WriteLine("Empate!\n"); } if (winsJ == jogadasV) { Console.WriteLine(""); Pontuacao(nome, winsJ, winsC, jogadasV); Printer.PrintHeader("Victory!", 2, 3, ConsoleColor.DarkGreen, ConsoleColor.Green, '▓'); return; } else if (winsC == jogadasV) { Console.WriteLine(""); Pontuacao(nome, winsJ, winsC, jogadasV); Printer.PrintHeader("Game Over!", 2, 3, ConsoleColor.DarkRed, ConsoleColor.Red, '▓'); return; } Console.WriteLine("Perssione qualquer tecla para continuar"); Console.ReadKey(); } }
/// <summary> /// ex1 Solicitar uma string e um índice. Apresentar o caracter correspondente ao índice com base na string. /// </summary> static void Ex1() { var s = InputRequest.RequestString("Escreve algo"); var l = s.Length; int i; do { i = InputRequest.RequestInt("Escolha o indice de um caracter da string", true); } while (i >= l); Console.WriteLine($"{s}[{i}]= {s[i]}"); }
/// <summary> /// ex12 a) mod="beg" Colocar um elemento no início do array /// ex12 b) mod="end" Colocar um elemento no fim do array /// ex12 c) Colocar um elemento num array /// </summary> public static String[] AddToArray(String[] a, string mod = "") { int pos = -1; if (mod == "beg") { pos = 0; } else if (mod == "end") { pos = Contar(a); } else { while (true) { pos = InputRequest.RequestInt("Posição onde colocar o elemento?"); if (pos > Contar(a) || pos < 0) { Console.WriteLine($"Posição não válida! Escolha um valor de 0 a {Contar(a)}."); } else { break; } } } string value = InputRequest.RequestString("Qual o valor a adicionar?"); string[] b = new string[Contar(a) + 1]; for (int i = 0; i < Contar(b); i++) { if (i == pos) { b[i] = value; } else if (i < pos) { b[i] = a[i]; } else { b[i] = a[i - 1]; } } return(b); }
/// <summary> /// ex12 d) mod="beg" Remover um elemento do início do array /// ex12 e) mod="end" Remover um elemento do fim do array /// ex12 f) Remover um elemento de um array /// </summary> public static String[] RemoveFromArray(String[] a, string mod = "") { int pos = -1; if (mod == "beg") { pos = 0; } else if (mod == "end") { pos = Contar(a) - 1; } else { while (true) { pos = InputRequest.RequestInt("Posição onde remover o elemento?"); if (pos > Contar(a) || pos < 0) { Console.WriteLine($"Posição não válida! Escolha um valor de 0 a {Contar(a) - 1}."); } else { break; } } } string[] b = new string[Contar(a) - 1]; for (int i = 0; i < Contar(a) - 1; i++) { if (i < pos) { b[i] = a[i]; } else if (i > pos) { b[i - 1] = a[i]; } } return(b); }
/// <summary> /// ex1 Contar o número de anos bissextos entre dois anos /// </summary> static void Ex1() { var a1 = InputRequest.RequestInt("Escolhe um ano", true); var a2 = -1; while (a1 >= a2) { a2 = InputRequest.RequestInt("Escolhe um ano maior"); } int b = 0; for (int ano = a1; ano <= a2; ano++) { if (DateTime.IsLeapYear(ano)) { b++; } } Console.WriteLine($"Número de anos bissextos entre {a1} e {a2}: {b}"); }