/// <summary>
        /// Construtor da fase1
        /// </summary>
        public Fase1(ContentManager Content, GameWindow gw)
        {
            this.gw = gw;
            autor   = "FASE 1 - Arthur";

            playing_musica = false;
            musica         = Content.Load <Song>("Kalimba");
            texturaFundo   = Content.Load <Texture2D>("Estados/Fase01/FundoFase1");
            texturaNave    = Content.Load <Texture2D>("Estados/Fase01/NaveFase1");
            posicao_j1.X   = (gw.ClientBounds.Width / 2) - texturaNave.Width / 2 - 150;
            posicao_j1.Y   = (gw.ClientBounds.Height / 2) - texturaNave.Height / 2;

            jogador1 = new Nave_jogador(
                1,
                texturaNave,
                posicao_j1,
                0f,
                gw,
                Content);

            asteroide_gerenciador = new Asteroide(
                Content.Load <Texture2D>("Asteroides"),
                Vector2.Zero,
                0.0f,
                gw,
                Content
                );

            Console.WriteLine("PASSANDO PELO CONTRUTOR DA FASE 1");

            //objetosemtipo = new Object(desenhoParam, Vector2.Zero, 0f, gw);//NAO posso fazer isso
        }
        public override void criaInstancia()
        {
            int pos = definirPosicao();

            if (contador == asteroides.Count)
            {
                contador = 0;
            }
            Asteroide ast = Instantiate(asteroides[contador++], spawnPoints[pos], Quaternion.identity);

            notifica(ast, Eventos.AST_CRIADO);
        }
Beispiel #3
0
    public void atualiza(object observavel, Eventos evento)
    {
        Asteroide ast = (Asteroide)observavel;

        if (evento == Eventos.AST_CRIADO)
        {
            ast.resgistraObs(this);
        }
        else if (evento == Eventos.AST_DESTRUIDO)
        {
            int ponto = ast.Ponto;
            pontuacaoTotal += ponto;
            textoPonto.text = pontuacaoTotal.ToString();
        }
    }
Beispiel #4
0
        public override void atualiza(object observavel, Eventos evento)
        {
            Asteroide ast = (Asteroide)observavel;

            if (evento == Eventos.AST_CRIADO)
            {
                ast.resgistraObs(this);
            }
            else if (evento == Eventos.AST_DESTRUIDO)
            {
                numAstDestruido++;
                if (numAstDestruido >= 5)
                {
                    unlock();
                }
            }
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            NaveAtaque naveAtaqueBobNelson = new NaveAtaque();
            Posicao    posicaoInicialJogo  = new Posicao();

            posicaoInicialJogo.Posicao_x       = 0;
            posicaoInicialJogo.Posicao_y       = 0;
            naveAtaqueBobNelson.Nome           = "BobNave";
            naveAtaqueBobNelson.Velocidade     = 40;
            naveAtaqueBobNelson.Energia        = 100;
            naveAtaqueBobNelson.Combustivel    = 50;
            naveAtaqueBobNelson.Posicao        = posicaoInicialJogo;
            naveAtaqueBobNelson.PotenciaTiro   = 10;
            naveAtaqueBobNelson.VelocidadeTiro = 60;

            Posicao posicaoInicialNavePirata = new Posicao();

            posicaoInicialNavePirata.Posicao_x = 20;
            posicaoInicialNavePirata.Posicao_y = 0;
            NaveAtaque navePirataUm   = new NaveAtaque("Pirata Nível1", 20, 80, 50, posicaoInicialNavePirata, 3, 20);
            NaveAtaque navePirataDois = new NaveAtaque();

            navePirataDois.Nome           = "Pirata Nível2";
            navePirataDois.Velocidade     = 30;
            navePirataDois.Energia        = 80;
            navePirataDois.Combustivel    = 60;
            navePirataDois.Posicao        = posicaoInicialNavePirata;
            navePirataDois.PotenciaTiro   = 5;
            navePirataDois.VelocidadeTiro = 40;

            Posicao        posicaoNaveTranporteBobNelson = new Posicao();
            NaveTransporte naveTransporteBobNelson       = new NaveTransporte("Touro Azul", 20, 120, 70, posicaoInicialJogo, 10);

            Posicao   posicaoInicialAsteroides = new Posicao(0, 0);
            Asteroide asteroideAlfa            = new Asteroide(20, posicaoInicialAsteroides);

            naveAtaqueBobNelson.Movimentar();
            asteroideAlfa.Movimentar();
            navePirataUm.Movimentar();
            navePirataUm.Atirar();
            naveAtaqueBobNelson.DanoLeve();
            naveAtaqueBobNelson.Atirar();
            navePirataUm.DanoGrave();
        }
Beispiel #6
0
    private void OnTriggerStay2D(Collider2D other)
    {
        if (other.gameObject.CompareTag("Player") && opacity >= 0.5f)
        {
            if (other.transform.position.x < transform.position.x)
            {
                NaveControles.instance.rg2d.velocity += new Vector2(transform.right.x, 0) * Time.deltaTime * gravityForce;
            }
            else if (other.transform.position.x > transform.position.x)
            {
                NaveControles.instance.rg2d.velocity += new Vector2(-transform.right.x, 0) * Time.deltaTime * gravityForce;
            }

            if (other.transform.position.y < transform.position.y)
            {
                NaveControles.instance.rg2d.velocity += new Vector2(0, transform.up.y) * Time.deltaTime * gravityForce;
            }
            else if (other.transform.position.y > transform.position.y)
            {
                NaveControles.instance.rg2d.velocity += new Vector2(0, -transform.up.y) * Time.deltaTime * gravityForce;
            }
        }

        if (other.gameObject.CompareTag("Asteroide") && opacity >= 0.5f)
        {
            Asteroide asteroide = other.gameObject.GetComponent <Asteroide>();

            if (other.transform.position.x < transform.position.x)
            {
                asteroide.rg2d.velocity += new Vector2(transform.right.x, 0) * Time.deltaTime * gravityForce / 5;
            }
            else if (other.transform.position.x > transform.position.x)
            {
                asteroide.rg2d.velocity += new Vector2(-transform.right.x, 0) * Time.deltaTime * gravityForce / 5;
            }

            if (other.transform.position.y < transform.position.y)
            {
                asteroide.rg2d.velocity += new Vector2(0, transform.up.y) * Time.deltaTime * gravityForce / 5;
            }
            else if (other.transform.position.y > transform.position.y)
            {
                asteroide.rg2d.velocity += new Vector2(0, -transform.up.y) * Time.deltaTime * gravityForce / 5;
            }
        }

        if (other.gameObject.CompareTag("Laser") && opacity >= 0.5f)
        {
            Laser laser = other.gameObject.GetComponent <Laser>();

            if (other.transform.position.x < transform.position.x)
            {
                laser.rg2d.velocity += new Vector2(transform.right.x, 0) * Time.deltaTime * gravityForce * 5;
            }
            else if (other.transform.position.x > transform.position.x)
            {
                laser.rg2d.velocity += new Vector2(-transform.right.x, 0) * Time.deltaTime * gravityForce * 5;
            }

            if (other.transform.position.y < transform.position.y)
            {
                laser.rg2d.velocity += new Vector2(0, transform.up.y) * Time.deltaTime * gravityForce * 5;
            }
            else if (other.transform.position.y > transform.position.y)
            {
                laser.rg2d.velocity += new Vector2(0, -transform.up.y) * Time.deltaTime * gravityForce * 5;
            }
        }
    }