Example #1
0
        public void ATIVAR(Personagem P1, int W, int H)
        {
            if (JANELA.J.RAIOselect && P1.mana >= P1.DEZporcento && P1.listaraio.Count <= 0)
            {
                P1.mana -= P1.DEZporcento;

                RAIO r1 = new RAIO();
                r1.PODERraio = true;

                if (P1.DIREITA)
                {
                    r1.PS = new Point(P1.individuo.X + P1.individuo.Width + (-Contexto.Fundo.fase.X), (-Contexto.Fundo.fase.Y));
                    r1.D = true;
                    r1.frame.X = 0;
                    r1.R.X = P1.individuo.X + P1.individuo.Width;
                    r1.R.Y = 0;
                }
                if (P1.ESQUERDA)
                {
                    r1.PS = new Point(P1.individuo.X - P1.individuo.Width + (-Contexto.Fundo.fase.X), (-Contexto.Fundo.fase.Y));
                    r1.E = true;
                    r1.frame.X = 9;
                    r1.R.X = P1.individuo.X - P1.individuo.Width;
                    r1.R.Y = 0;
                }

                r1.Vy = 0;
                r1.R.Width = (H / 7 - H / 130) * 2;//146 = 154 - 8
                r1.R.Height = (H / 3 + H / 11) * 2;//458 = 360 + 98

                P1.listaraio.Add(r1);
                P1.SENDOAGARRADO = false;
                P1.PODERraio = true;
            }
        }
Example #2
0
        public void FUNÇAO(Personagem P1, int W, int H, List<Inimigo> i1)
        {
            for (int i = 0; i < P1.listaraio.Count; i++)
            {

                if (P1.PODERraio && P1.listaraio.Count > 0)
                {
                    if (JANELA.J.RAIOselect && P1.listaraio[i].PODERraio)
                    {
                        //POSIÇÃO
                        P1.listaraio[i].R.X = P1.listaraio[i].PS.X + Contexto.Fundo.fase.X;
                        P1.listaraio[i].R.Y = P1.listaraio[i].Vy + P1.listaraio[i].PS.Y + Contexto.Fundo.fase.Y;

                        //acertar inimigo
                        if (P1.listaraio[i].AcertouCHAO)
                        {
                            for (int a = 0; a < i1.Count; a++)
                            {
                                if (P1.listaraio[i].D && P1.listaraio[i].frame.X >= 3 && P1.listaraio[i].R.Intersects(i1[a].individuo))
                                {
                                    i1[a].vida -= H / 53; //20
                                    i1[a].gerarHUDVidaPerdida(H / 53, P1);
                                    P1.GERARdano(i1[a].individuo.X, i1[a].individuo.Y, i1[a].individuo.Width, i1[a].individuo.Height, P1.DIREITA, P1.ESQUERDA, H / 53, W, H, 1); // personagem leva dano (do personagem)
                                }
                                else if (P1.listaraio[i].E && P1.listaraio[i].frame.X <= 6 && P1.listaraio[i].R.Intersects(i1[a].individuo))
                                {
                                    i1[a].vida -= H / 53; //20
                                    i1[a].gerarHUDVidaPerdida(H / 53, P1);
                                    P1.GERARdano(i1[a].individuo.X, i1[a].individuo.Y, i1[a].individuo.Width, i1[a].individuo.Height, P1.DIREITA, P1.ESQUERDA, H / 53, W, H, 1); // personagem leva dano (do personagem)
                                }

                            }
                        }

                        //no ar
                        if (!P1.listaraio[i].R.Intersects(Contexto.Fundo.chao) && !P1.listaraio[i].AcertouCHAO)//sem encostar no chao
                        {
                            P1.listaraio[i].Vy += H / 30; //36
                            if (P1.listaraio[i].D)
                                P1.listaraio[i].frame.X++;
                            else if (P1.listaraio[i].E)
                                P1.listaraio[i].frame.X--;

                            if (P1.listaraio[i].frame.X >= 2 && P1.listaraio[i].D)
                            {
                                P1.listaraio[i].frame.X= 0;
                            }

                            else if (P1.listaraio[i].frame.X <= 7 && P1.listaraio[i].E)
                            {
                                P1.listaraio[i].frame.X = 9;
                            }
                        }
                        if (P1.listaraio[i].R.Intersects(Contexto.Fundo.chao) || P1.listaraio[i].R.Y + P1.listaraio[i].R.Height >= Contexto.Fundo.chao.Y)//sem encostar no chao
                        {
                            P1.listaraio[i].Vy = 0; //para de se mover
                            P1.listaraio[i].PS.Y = Contexto.Fundo.chao.Y - P1.listaraio[i].R.Height + (-Contexto.Fundo.fase.Y);
                            P1.listaraio[i].AcertouCHAO = true;

                        }

                        if (P1.listaraio[i].AcertouCHAO)
                        {
                            if (P1.listaraio[i].D)
                                P1.listaraio[i].frame.X++;
                            else if (P1.listaraio[i].E)
                                P1.listaraio[i].frame.X--;

                            if (P1.listaraio[i].frame.X >= P1.listaraio[i].spritesheet.X && P1.listaraio[i].D)
                            {
                                if (P1.mana >= P1.DEZporcento)
                                {
                                    //criar novo raio ate acabar o mana
                                    P1.mana -= P1.DEZporcento;

                                    RAIO r1 = new RAIO();
                                    r1.PODERraio = true;

                                    if (P1.listaraio[i].D)
                                    {
                                        r1.PS = new Point(P1.listaraio[i].R.X + P1.listaraio[i].R.Width + (-Contexto.Fundo.fase.X), (-Contexto.Fundo.fase.Y));
                                        r1.D = true;
                                        r1.frame.X = 0;
                                        r1.R.X = P1.listaraio[i].R.X + P1.listaraio[i].R.Width;
                                        r1.R.Y = 0;
                                    }
                                    if (P1.listaraio[i].E)
                                    {
                                        r1.PS = new Point(P1.listaraio[i].R.X - P1.listaraio[i].R.Width + (-Contexto.Fundo.fase.X), (-Contexto.Fundo.fase.Y));
                                        r1.E = true;
                                        r1.frame.X = 9;
                                        r1.R.X = P1.listaraio[i].R.X - P1.listaraio[i].R.Width;
                                        r1.R.Y = 0;
                                    }

                                    r1.Vy = 0;
                                    r1.R.Width = (H / 7 - H / 130) * 2;//146 = 154 - 8
                                    r1.R.Height = (H / 3 + H / 11) * 2;//458 = 360 + 98

                                    P1.listaraio.Add(r1);
                                    P1.SENDOAGARRADO = false;
                                    P1.PODERraio = true;
                                    P1.listaraio.Remove(P1.listaraio[i]);
                                }//
                                else if (P1.mana < P1.DEZporcento)
                                {
                                    P1.PODER = false;
                                    P1.PODERraio = false;
                                    P1.listaraio.Clear();
                                }

                            }

                            else if (P1.listaraio[i].frame.X <= -1 && P1.listaraio[i].E)
                            {
                                //criar novo raio ate acabar o mana
                                if (P1.mana >= P1.DEZporcento)
                                {
                                    P1.mana -= P1.DEZporcento;

                                    RAIO r1 = new RAIO();
                                    r1.PODERraio = true;

                                    if (P1.listaraio[i].D)
                                    {
                                        r1.PS = new Point(P1.listaraio[i].R.X + P1.listaraio[i].R.Width + (-Contexto.Fundo.fase.X), (-Contexto.Fundo.fase.Y));
                                        r1.D = true;
                                        r1.frame.X = 0;
                                        r1.R.X = P1.listaraio[i].R.X + P1.listaraio[i].R.Width;
                                        r1.R.Y = 0;
                                    }
                                    if (P1.listaraio[i].E)
                                    {
                                        r1.PS = new Point(P1.listaraio[i].R.X - P1.listaraio[i].R.Width + (-Contexto.Fundo.fase.X), (-Contexto.Fundo.fase.Y));
                                        r1.E = true;
                                        r1.frame.X = 9;
                                        r1.R.X = P1.listaraio[i].R.X - P1.listaraio[i].R.Width ;
                                        r1.R.Y = 0;
                                    }

                                    r1.Vy = 0;
                                    r1.R.Width = (H / 7 - H / 130) * 2;//146 = 154 - 8
                                    r1.R.Height = (H / 3 + H / 11) * 2;//458 = 360 + 98

                                    P1.listaraio.Add(r1);
                                    P1.SENDOAGARRADO = false;
                                    P1.PODERraio = true;
                                    P1.listaraio.Remove(P1.listaraio[i]);
                                }
                                else if (P1.mana < P1.DEZporcento)
                                {
                                    P1.listaraio.Clear();
                                    P1.PODERraio = false;
                                    P1.PODER = false;
                                }

                            }
                        }

                    }
                }//fim poder

            }//fim multiplicação
        }