Example #1
0
        static void Main(string[] args)
        {
            int op = 1;

            while (op == 1)
            {
                Console.Clear();
                PilhaBaralho Baralho = new PilhaBaralho();

                Console.Write("JOGO DE CARTAS - 21");

                Console.Write("\n\nDigite seu nome jogador 1: ");
                Jogador jogador1 = new Jogador(Console.ReadLine());

                Console.Write("Digite seu nome jogador 2: ");
                Jogador jogador2 = new Jogador(Console.ReadLine());

                //Inicializando as mãos dos jogadores
                for (int i = 0; i < 2; i++)
                {
                    jogador1.Jogar(Baralho);
                    jogador2.Jogar(Baralho);
                }


                //Escolhendo aleatóriamente quem será o primeiro jogador a iniciar
                Random jogAleatorio = new Random();
                int    JogInicia    = jogAleatorio.Next(1, 3);

                int opcao, cont = 0;

                //Onde o jogo acontece
                //Se o cont for igual a 2 quer dizer que ambos jogadores já jogaram
                while (cont < 2)
                {
                    opcao = -1;

                    //Possibilita a jogada do jogador 1
                    if (cont < 2 && JogInicia == 1)
                    {
                        while (opcao != 0 && jogador1.somaMao() < 21)
                        {
                            Console.Clear();
                            Console.Write("Vez de " + jogador1.Nome);
                            jogador1.ImprimeMao();

                            Console.Write("\n\nAperte 1 para puxar uma carta do baralho ou 0 para parar: ");
                            opcao = int.Parse(Console.ReadLine());

                            if (opcao == 1)
                            {
                                jogador1.Jogar(Baralho);
                            }

                            if (opcao == 0 || jogador1.somaMao() > 21)
                            {
                                if (jogador1.somaMao() > 21)
                                {
                                    jogador1.ImprimeMao();
                                    Console.Write("\nVocê estourou a soma das cartas.  YOU LOSE!");
                                    //Se o jogador estourou o 21 o mesmo não poderá mais jogar, logo a opção recebe 0.
                                    opcao = 0;
                                    Console.ReadKey(true);
                                }
                                //jogInicia é alterado para 2 para que entre na condição do jogador 2 também jogar
                                JogInicia = 2;
                                cont++;
                            }
                        }
                    }

                    opcao = -1;

                    //Possibilita a jogada do jogador 2
                    if (cont < 2 && JogInicia == 2)
                    {
                        while (opcao != 0 && jogador2.somaMao() < 21)
                        {
                            Console.Clear();
                            Console.Write("Vez de " + jogador2.Nome);
                            jogador2.ImprimeMao();
                            Console.Write("\n\nAperte 1 para puxar uma carta do baralho ou 0 para parar: ");
                            opcao = int.Parse(Console.ReadLine());

                            if (opcao == 1)
                            {
                                jogador2.Jogar(Baralho);
                            }

                            if (opcao == 0 || jogador2.somaMao() > 21)
                            {
                                if (jogador2.somaMao() > 21)
                                {
                                    jogador2.ImprimeMao();
                                    Console.Write("\n\nVocê estourou a soma das cartas.  YOU LOSE!");
                                    opcao = 0;
                                    Console.ReadKey(true);
                                }
                                JogInicia = 1;
                                cont++;
                            }
                        }
                    }
                }

                //Verificando quem foi o vencedor da jogada
                Console.Clear();
                Console.Write("Resultado " + jogador1.Nome);
                jogador1.ImprimeMao();
                Console.Write("\n\nResultado " + jogador2.Nome);
                jogador2.ImprimeMao();
                if (jogador1.somaMao() > 21 && jogador2.somaMao() > 21)
                {
                    Console.Write("\n\nNão houve um campeão no jogo! Cambada de nub!");
                }
                else
                {
                    if (jogador1.somaMao() < jogador2.somaMao())
                    {
                        Console.Write("\n\n" + jogador1.Nome + " ganhou a rodada. " + jogador2.Nome + " seu(a) nub!");
                    }
                    else
                    {
                        Console.Write("\n\n" + jogador2.Nome + " ganhou a rodada. " + jogador1.Nome + " seu(a) nub!");
                    }
                }
                Console.Write("\n\n Aperte [1] Para jogar novamente ou [0] para sair: ");
                op = int.Parse(Console.ReadLine());
            }
        }
Example #2
0
 public void Jogar(PilhaBaralho Baralho)
 {
     Mao.Add(Baralho.Desempilha());
 }