コード例 #1
0
        //metodo chamado para toda batalha
        public void Batalhar(Personagem jogador, Inimigos inimigo)
        {
            //variaveis para indicar os alvos
            this.jogador = jogador;
            this.inimigo = inimigo;
            bool jogar = true;

            while (jogar == true)
            {
                //chama os status do jogador e as escolhas de ataque
                Status();
                Console.WriteLine("Você está batalhando");
                Console.Write("\n\n\n\n\n\n\n\n\n\n");
                Console.WriteLine("[1 - SOCO]");
                Console.WriteLine("[2 - CHUTAR]");
                Console.WriteLine("[3 - CABEÇADA]");
                Console.WriteLine("[4 - ESPECIAL]");
                Console.WriteLine("[5 - ESPECIAL]");
                Console.Write("Escolha: ");
                escolha = LerTeclado.intervalo(1, 5);

                if (escolha == 1)
                {
                    jogador.Socar(inimigo);
                }
                else if (escolha == 2)
                {
                    jogador.Chutar(inimigo);
                }
                else if (escolha == 3)
                {
                    jogador.Cabecada(inimigo);
                }
                else if (escolha == 4)
                {
                    jogador.Especial(inimigo);
                }
                else
                {
                    jogador.Especial2(jogador);
                }
                Console.ReadLine();
                Console.Clear();
                //rola o dado do inimigo para ver qual ataque será usado
                Console.WriteLine("Ataque inimigo");
                ataque = Rolagem.Rola(5, 0);

                if (ataque == 1)
                {
                    inimigo.Socar(jogador);
                }
                else if (ataque == 2)
                {
                    inimigo.Chutar(jogador);
                }
                else if (ataque == 3)
                {
                    inimigo.Cabecada(jogador);
                }
                else if (ataque == 4)
                {
                    inimigo.Especial(jogador);
                }
                else
                {
                    inimigo.Especial2(jogador);
                }
                Console.ReadLine();
                Console.Clear();
                //condição para ver se o jogador venceu
                if (jogador.Vida > 0 && inimigo.Vida <= 0)
                {
                    Console.WriteLine(jogador.nome + " venceu!");
                    Console.ReadLine();
                    Console.Clear();
                    jogador.Vida = jogador.vidainicial;
                    inimigo.Vida = inimigo.vidainicial;
                    break;
                }
                //condição para ver se foi empate
                else if (jogador.Vida <= 0 && inimigo.Vida <= 0)
                {
                    Console.WriteLine("Empate!");
                    Console.ReadLine();
                    Console.Clear();
                    jogador.Vida = jogador.vidainicial;
                    break;
                }
                //condição para ver se o jogador perdeu
                else if (jogador.Vida <= 0 && inimigo.Vida > 0)
                {
                    Console.Clear();
                    Console.WriteLine("Você perde!");
                    Console.WriteLine(jogador.nome + ", você quer jogar novamente? ");
                    Console.Write("\n\n\n\n\n\n\n\n");
                    Console.WriteLine("[1 - Sim]");
                    Console.WriteLine("[2 - Não]");
                    Console.Write("Sua resposta: ");
                    confirmarResetar = LerTeclado.intervalo(1, 2);
                    Console.Clear();
                    if (confirmarResetar == 1)
                    {
                        jogar = true;
                    }
                    else if (confirmarResetar == 2)
                    {
                        jogar = false;
                    }

                    jogador.Vida = jogador.vidainicial;  // TESTE SE ESTA RESETANDO A VIDA
                }
            }
        }
コード例 #2
0
ファイル: CriaPersonagem.cs プロジェクト: eduardassilva/rpg
        public static Personagem Criacao(string nome)
        {
            Personagem Jogador;

            //switch de escolha de classe, onde irá criar o personagem do jogador de acordo com a classe escolhida
            Console.WriteLine("\nEscolha a classe:");
            Console.WriteLine("\n[1 - Guerreiro] [2 - Mago] [3 - Swashbuckler]");
            //metodo para o jogador só conseguir digitar numeros (1 é o minimo e 3 o maximo)
            escolha = LerTeclado.intervalo(1, 3);
            Console.Clear();
            switch (escolha)
            {
            case 1:
                Jogador = new Guerreiro(nome);
                break;

            case 2:
                Jogador = new Mago(nome);
                break;

            case 3:
                Jogador = new Swashbuckler(nome);
                break;

            default:
                return(Jogador = new Guerreiro(nome));
            }


            int confirmarResetar;

            //laço DO que repete o processo até todos os pontos disponiveis serem gastos e o jogador confirmar sua escolha
            do
            {
                //condição que só permitirá o jogador colocar pontos nos atributos se tiver pontos disponiveis
                //colocar pontos nos atributos
                if (pontosTotal > 0)
                {
                    Jogador.status(pontosTotal, nome);
                    Console.Write("Quantas pontos deseja distribuir em força? ");
                    //metodo para o jogador só conseguir digitar numeros (0 é o minimo e pontosTotal é o maximo)
                    pontosGastos   = LerTeclado.intervalo(0, pontosTotal);
                    pontosTotal   -= pontosGastos;
                    Jogador.Forca += pontosGastos;
                }


                Console.Clear();

                if (pontosTotal > 0)
                {
                    Jogador.status(pontosTotal, nome);
                    Console.Write("Quantas pontos deseja distribuir em destreza? ");
                    pontosGastos      = LerTeclado.intervalo(0, pontosTotal);
                    pontosTotal      -= pontosGastos;
                    Jogador.Destreza += pontosGastos;
                }

                Console.Clear();

                if (pontosTotal > 0)
                {
                    Jogador.status(pontosTotal, nome);
                    Console.Write("Quantas pontos deseja distribuir em inteligencia? ");
                    pontosGastos          = LerTeclado.intervalo(0, pontosTotal);
                    pontosTotal          -= pontosGastos;
                    Jogador.Inteligencia += pontosGastos;
                }

                Console.Clear();

                Console.Clear();

                Jogador.status(pontosTotal, nome);

                //condição que se não tiver mais pontos para investir, o jogador pode confirmar suas escolhas ou realocar seus pontos
                if (pontosTotal == 0)
                {
                    Console.WriteLine("\nDeseja confirmar ou resetar seus pontos? \n[1 - Confirmar] [2 - Resetar]");
                    confirmarResetar = LerTeclado.intervalo(1, 2);
                    if (confirmarResetar == 1)
                    {
                        pontosConfirmar = true;
                    }
                    else if (confirmarResetar == 2)
                    {
                        Jogador.Forca        = Jogador.forcainicial;
                        Jogador.Destreza     = Jogador.destrezainicial;
                        Jogador.Inteligencia = Jogador.inteligenciainicial;
                        pontosTotal          = 7;
                        pontosGastos         = 0;
                    }
                }
                Console.Clear();
            } while (pontosConfirmar == false);

            return(Jogador);
        }