예제 #1
0
        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();
            }
        }
예제 #2
0
        /// <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]}");
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }
예제 #5
0
        /// <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}");
        }