コード例 #1
0
        public void TesteNaoEsquivarInimigo()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Velo = 0;
            Assert.False(inimigo.Esquivar(1));
        }
コード例 #2
0
        public void TesteNaoCriticoInimigo()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Sorte = 0;
            Assert.False(inimigo.Critico());
        }
コード例 #3
0
        public void AtaqueDeFuriaPadrao()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Atk = 10;
            Assert.AreEqual(inimigo.AtaqueEspecial(), 15);
        }
コード例 #4
0
        public void TesteConseguiuCriticoInimigo()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Sorte = 100;
            Assert.True(inimigo.Critico());
        }
コード例 #5
0
        public void TesteConseguiuEsquivarInimigo()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Velo = 200;
            Assert.True(inimigo.Esquivar(100));
        }
コード例 #6
0
        public void Ataques()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Vida = 100;
            inimigo.Atk  = 10;
            Assert.AreEqual(inimigo.Ataques(), 10);
        }
コード例 #7
0
        public void TesteDanoAtkMaiorQDf()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Vida = 100;
            inimigo.Velo = 0;
            inimigo.Def  = 100;
            inimigo.ReceberDano(125, 1, false);
            Assert.Greater(inimigo.Vida, 68);
            Assert.Less(inimigo.Vida, 80);
        }
コード例 #8
0
        public void TesteDanoDfIgualQAtk()
        {
            var inimigo = new Inimigos(1, "deslizando", "inimig", "rapaz");

            inimigo.Vida = 23;
            inimigo.Velo = 0;
            inimigo.Def  = 1000;
            inimigo.ReceberDano(1000, 100, false);

            Assert.AreEqual(inimigo.Vida, 22);
        }
コード例 #9
0
ファイル: Personagem.cs プロジェクト: eduardassilva/rpg
 //chamar o ataque chutar
 public virtual void Chutar(Inimigos alvo)
 {
     if (Rolagem.Rola(20, destreza) >= alvo.Armadura)
     {
         alvo.Vida -= Rolagem.Rola(4, destreza);
         Console.WriteLine("VOCÊ ACERTOU!");
         Console.WriteLine("VOCÊ CHUTOU");
     }
     else
     {
         Console.WriteLine("ERROU");
     }
 }
コード例 #10
0
ファイル: Personagem.cs プロジェクト: eduardassilva/rpg
 //chama o ataque cabeçada
 public virtual void Cabecada(Inimigos alvo)
 {
     if (Rolagem.Rola(20, destreza) >= alvo.Armadura)
     {
         alvo.Vida -= Rolagem.Rola(4, inteligencia);
         Console.WriteLine("VOCÊ ACERTOU!");
         Console.WriteLine("VOCÊ FOI DE CABEÇADA");
     }
     else
     {
         Console.WriteLine("ERROU");
     }
 }
コード例 #11
0
ファイル: Guerreiro.cs プロジェクト: eduardassilva/rpg
 public override void Especial(Inimigos alvo)
 {
     //TESTAR POR TODAS AS HABILIDADES ASSIM, PARECE FUNCIONAL
     if (Rolagem.Rola(20, Destreza) >= alvo.Armadura)
     {
         Console.WriteLine("VOCÊ ACERTOU!");
         Console.WriteLine("ESPADADA");
         alvo.Vida -= Rolagem.Rola(6, Forca);
     }
     else
     {
         Console.WriteLine("VOCÊ ERROU!");
     }
 }
コード例 #12
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag == "Limite")
        {
            Destroy(this.gameObject);
        }

        if (col.gameObject.tag == "Inimigo")
        {
            Inimigos prov = col.GetComponent <Inimigos>();
            prov.SofrerDano(danoBala);
            Destroy(this.gameObject);
        }
    }
コード例 #13
0
ファイル: Personagem.cs プロジェクト: eduardassilva/rpg
 //chama o ataque socar
 public virtual void Socar(Inimigos alvo)
 {
     if (Rolagem.Rola(20, destreza) >= alvo.Armadura)
     {
         alvo.Vida -= Rolagem.Rola(4, forca);
         Console.WriteLine();
         Console.WriteLine("VOCÊ ACERTOU!");
         Console.WriteLine("VOCÊ SOCOU");
     }
     else
     {
         Console.WriteLine();
         Console.WriteLine("VOCÊ ERROU");
     }
 }
コード例 #14
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag == "inimigo")
        {
            atual = col.GetComponent <Inimigos>();
            col.GetComponent <Inimigos>().tempoStun += stun;
            atual.Dano();
        }

        if (col.gameObject.tag == "General")
        {
            atualG = col.GetComponent <General> ();
            atualG.DanoG();
        }
    }
コード例 #15
0
    void Tiro()
    {
        esperarFirerate = 0;
        RaycastHit hit;

        if (Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, alcance))
        {
            Inimigos inim = hit.transform.GetComponent <Inimigos>();
            if (inim != null)
            {
                inim.TomarDano();
            }
            if (hit.collider.gameObject.tag == "inimigos")
            {
                Instantiate(sangueParticula, hit.point + (hit.normal), Quaternion.FromToRotation(-Vector3.back, hit.normal));
            }
        }
        tiroParticula.Play();
    }
コード例 #16
0
 void OnCollisionEnter2D(Collision2D other)
 {
     if (other.gameObject.tag == "Enemy" & !(other.gameObject.name == "Boss"))
     {
         Inimigos abj = other.gameObject.GetComponent <Inimigos> ();
         abj.vida--;
         Destroy(gameObject);
     }
     if (other.gameObject.name == "Boss")
     {
         Boss abj = other.gameObject.GetComponent <Boss> ();
         abj.DamageBoss();
         Destroy(gameObject);
     }
     if (other.gameObject.tag == "Player" & DamagePlayers)
     {
         Jogador abj = other.gameObject.GetComponent <Jogador> ();
         abj.DamagePlayer();
         Destroy(gameObject);
     }
 }
コード例 #17
0
    void OnCollisionEnter2D(Collision2D colisao)
    {
        Vector2  normal  = colisao.contacts[0].normal;
        Inimigos inimigo = colisao.transform.GetComponent <Inimigos>();

        Nave nave = colisao.transform.GetComponent <Nave>();


        if (inimigo != null)
        {
            //print("Colisão entre inimigos");
            //GetComponent<Collider2D>().isTrigger = true;
        }
        if (nave != null)
        {
            //print("Colisão entre Player");
            //GetComponent<Collider2D>().isTrigger = true;

            //Game Over
        }

        //Destroy(this.gameObject);
        pontuacao += 10;
    }
コード例 #18
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
                }
            }
        }
コード例 #19
0
ファイル: Personagem.cs プロジェクト: eduardassilva/rpg
 //chama o especial 1
 public virtual void Especial(Inimigos alvo)
 {
     Console.WriteLine(nome + " usou especial em " + alvo.nome + "!");
 }
コード例 #20
0
 public encontravel(Inimigos oInimigo, float taxa)
 {
     this.oInimigo = oInimigo;
     this.taxa     = taxa;
 }
コード例 #21
0
    void Update()
    {
        //Atualizando Quantidade de balas na Ui
        TextoVidaJogador.text     = VidaJogador.ToString() + "Vidas";
        TextoQuantidadeBalas.text = QuantidadeDePedras.ToString() + " Pedras";

        //Jogador Pulando
        if (Controlador.isGrounded)
        {
            ContadorPulo = 0;
            Pulando      = false;
        }
        if (Input.GetButtonDown("ButtonCross") && ContadorPulo < 2)
        {
            if (Controlador.isGrounded)
            {
                PuloSimples   = true;
                Pulando       = true;
                ContadorPulo += 1;
            }
            else
            {
                if (ContadorPulo == 1)
                {
                    PuloDuplo     = true;
                    Pulando       = true;
                    ContadorPulo += 1;
                }
            }
        }



        //Visibilidade Jogador
        if (Visivel)
        {
            RenderJogador.enabled = true;
        }
        else
        {
            RenderJogador.enabled = false;
        }


        /*********************************  ATIRANDO EM INIMIGOS  *****************************************************/

        //Mirando
        if (Input.GetButton("ButtonR1"))
        {
            CarregandoTiro = true;
        }
        else
        {
            CarregandoTiro = false;
        }


        //Colocando inimigos dentro do agro de acordo com a distancia
        if (TodosInimigos.Count > 0)
        {
            foreach (GameObject InimigosProximos in TodosInimigos)
            {
                if (InimigosProximos != null)
                {
                    float DistanciaoDentroAgro = Vector3.Distance(this.transform.position, InimigosProximos.transform.position);
                    if (DistanciaoDentroAgro <= Agro && !DentroAgro.Contains(InimigosProximos))
                    {
                        DentroAgro.Add(InimigosProximos);
                    }
                }
            }
        }

        //RemovendoInimigos do Agro Caso eles estejam longe
        if (DentroAgro.Count > 0)
        {
            foreach (GameObject InimigosLonge in DentroAgro)
            {
                if (InimigosLonge != null)
                {
                    float Distancia = Vector3.Distance(InimigosLonge.transform.position, this.transform.position);
                    if (Distancia > Agro)
                    {
                        DentroAgro.Remove(InimigosLonge);
                        break;
                    }
                }
            }
        }

        //Removendo Inimigos do Agro caso eles tenham sido derrotados
        if (DentroAgro.Count > 0)
        {
            foreach (GameObject InimigosDentroAgro in DentroAgro)
            {
                if (InimigosDentroAgro == null)
                {
                    DentroAgro.Remove(InimigosDentroAgro);
                    break;
                }
            }
        }



        if (CarregandoTiro)
        {
            //Mostrando vida do inimigo
            if (InimigoMaisProximo != null)
            {
                EsquiloAtirador tempEsquiloAtirador = InimigoMaisProximo.GetComponent <EsquiloAtirador>();
                TextoVidaInimigo.text = "Vida Inimigo: " + tempEsquiloAtirador.VidaEsquilo.ToString();
            }


            //Achando o inimigo mais proximo dentro do Agro
            float DistanciaMinima = Mathf.Infinity;
            if (DentroAgro.Count > 0)
            {
                foreach (GameObject Inimigo in DentroAgro)
                {
                    if (Inimigo != null)
                    {
                        float DistanciaInimigo = Vector3.Distance(this.transform.position, Inimigo.transform.position);

                        if (DistanciaInimigo < DistanciaMinima)
                        {
                            DistanciaMinima    = DistanciaInimigo;
                            InimigoMaisProximo = Inimigo;
                            if (Input.GetButtonDown("ButtonSquare"))
                            {
                                if (QuantidadeDePedras > 0 && !Invulneravel)
                                {
                                    NovaPedra = Instantiate(Pedra, PivorTiro.transform.position, Quaternion.identity) as GameObject;
                                    NovaPedra.transform.eulerAngles = PivorRotacao.transform.eulerAngles;
                                    PedraAtirada tempPedraAtirada = NovaPedra.GetComponent <PedraAtirada>();
                                    tempPedraAtirada.AtiradaPeloJogador = true;
                                    QuantidadeDePedras -= 1;
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                CarregandoTiro        = false;
                TextoVidaInimigo.text = "Sem Inimigo";
            }


            if (InimigoMaisProximo != null)
            {
                Inimigos tempInimigoSelecionado = InimigoMaisProximo.GetComponent <Inimigos>();
                Seletor.SetActive(true);
                Seletor.transform.position = tempInimigoSelecionado.PivorSelecao.transform.position;
            }

            //Atirando
        }
        else
        {
            Seletor.SetActive(false);
        }

        /*********************************  CARREGANDO OBJETOS  *****************************************************/

        //Possibilida de Carregar Objeto
        if (PodeCarregar)
        {
            if (Input.GetButtonDown("ButtonTriangle"))
            {
                PegouCarga            = true;
                ColliderCarga         = ObjetoCarregavel.transform.GetChild(0).GetComponent <BoxCollider>();
                ColliderCarga.enabled = false;
            }
        }

        if (PegouCarga)
        {
            SelecaoRender.enabled = true;
            //Segurando objeto
            ObjetoCarregavel.transform.position    = PivorCarga.transform.position;
            ObjetoCarregavel.transform.eulerAngles = PivorRotacao.transform.eulerAngles;


            //Soltando objeto
            if (Input.GetButtonDown("ButtonTriangle") && !PodeCarregar && tempSelecao.PodeDescarregar)
            {
                ObjetoCarregavel.transform.position = Selecao.transform.position;
                ColliderCarga.enabled = true;
                PegouCarga            = false;
            }
        }
        else
        {
            SelecaoRender.enabled = false;
        }



        /*********************************  ATAQUE DE CORPO A CORPO  *****************************************************/

        if (Input.GetButtonDown("ButtonSquare") && !Input.GetButton("ButtonR1"))
        {
            PivorMachado.SetActive(true);
            GirarMachado           = true;
            DesligandoGirarMachado = true;
        }

        if (GirarMachado)
        {
            PivorMachado.transform.Rotate(Vector3.up * 2000 * Time.deltaTime);
            if (DesligandoGirarMachado)
            {
                InvokeRepeating("PararGiroMachado", 1, 0);
                DesligandoGirarMachado = false;
            }
        }

        /*********************************  RECEBENDO DANO SIMPLES  *****************************************************/

        if (DanoSimples)
        {
            Invulneravel = true;
        }
    }