Beispiel #1
0
 public void DefineParaEstadoStunned()
 {
     tintImage     = corTingeStunned;
     timerEmEstado = tempoStunned;
     estadoActual  = EstadoPatrulha.Stunned;
     AudioSupport.PlaySom("Stunned");
 }
Beispiel #2
0
        private void ProximoAlvo()
        {
            timerEmEstado = timerEstado;
            estadoActual  = EstadoPatrulha.Patrulha;
            tintImage     = corTinge;
            double InicioEstado = Game1.numAleatorios.NextDouble();

            if (InicioEstado < 0.25)
            {
                posicaoAlvo = PosiçaoAleatoriaInfDir();
            }
            else if (InicioEstado < 0.5)
            {
                posicaoAlvo = PosiçaoAleatoriaSupDir();
            }
            else if (InicioEstado < 0.75)
            {
                posicaoAlvo = PosiçaoAleatoriaSupEsq();
            }
            else
            {
                posicaoAlvo = PosiçaoAleatoriaInfEsq();
            }

            CalculaNovoTimerVelocidade_Reset();
        }
Beispiel #3
0
 public void  DefineParaEstadoPerseguicao(ObjectoDeJogo heroi)
 {
     timerEmEstado = (int)(timerEstado * 1.5f);
     Velocidade    = velociadePatrulha;
     estadoActual  = EstadoPatrulha.Perseguicao;
     posicaoAlvo   = heroi.Posicao;
     tintImage     = corTingePerseguicao;
 }
Beispiel #4
0
        private void GeraInimigo_LefRight()
        {
            timerEmEstado = timerEstado;
            estadoActual  = EstadoPatrulha.Patrulha;
            tintImage     = corTinge;
            float posX;

            if (VelocidadeVector.X <= 0)
            {
                posX = (float)Game1.numAleatorios.NextDouble() * Camera.Largura / 2 + PosicaoX;
            }
            else
            {
                posX = (float)Game1.numAleatorios.NextDouble() * -Camera.Largura / 2 + PosicaoX;
            }
            CalculaNovoTimerVelocidade_Reset();
        }
Beispiel #5
0
        private void GeraInimigo_UpDown()
        {
            timerEmEstado = timerEstado;
            estadoActual  = EstadoPatrulha.Patrulha;
            tintImage     = corTinge;
            float posY;
            //Usa os limites da camera
            float distanciaLIMTopo = Camera.posicaoCantoSuperiorEsq.Y - PosicaoY;
            float distanciaLIMInf  = PosicaoY - Camera.posicaoCantoInferiorEsq.Y;

            if (distanciaLIMTopo > distanciaLIMInf)//Caso a distancia ate ao limite superior fosse maior entao produz um movimwnto superior caso contrario um movimento inferior
            {
                posY = (float)Game1.numAleatorios.NextDouble() * distanciaLIMTopo / 2 * 0.8f + PosicaoY + distanciaLIMTopo / 2;
            }
            else
            {
                posY = (float)Game1.numAleatorios.NextDouble() * -distanciaLIMInf / 2 * 0.8f + PosicaoY + distanciaLIMInf / 2;
            }
            posicaoAlvo = new Vector2(PosicaoX, posY);
            CalculaNovoTimerVelocidade_Reset();
        }