public void Funções(Personagem P1, List<Inimigo> listai1, int W, int H) { if (JANELA.J.ESCUDOselect) { P1.SENDOAGARRADO = false; Contagem++; if (Contagem >= 300 || Quantidade <= 0)//caso dê 5 segundos ou acabe a quantidade do escudo { Quantidade = 0; Contagem = 0; P1.PODER = false; } for (int i = 0; i < listai1.Count; i++) { if (R.Intersects(listai1[i].meio))//encostar no INIMIGO (todos) { //perde 1 de vida ao encostar listai1[i].vida -= 1; listai1[i].gerarHUDVidaPerdida(1, P1); P1.GERARdano(listai1[i].individuo.X, listai1[i].individuo.Y, listai1[i].individuo.Width, listai1[i].individuo.Height, P1.DIREITA, P1.ESQUERDA, 1, W, H, 1); // personagem leva dano (do personagem) //perde vida do escudo Quantidade -= 1; } } } }
//MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- //MOVIMENTAÇÃO ------------------------------------------------------------- public void MOV(int WidthTela, int HeightTela, Random aleatório, Personagem P1) { //posição do meio meio.X = individuo.X + individuo.Width / 4; meio.Y = individuo.Y; meio.Width = individuo.Width / 2; meio.Height = individuo.Height; //COLISÃO COM O PERSONAGEM //COLISÃO COM O PERSONAGEM //COLISÃO COM O PERSONAGEM //COLISÃO COM O PERSONAGEM //COLISÃO COM O PERSONAGEM //COLISÃO COM O PERSONAGEM if (!MORRENDO && P1.g == 0) { if (P1.meio.Intersects(meio) && meio.X > P1.meio.X && !P1.ATACANDO && (!P1.PULANDOandando || !P1.PULANDOcorrendo || !P1.PULANDOparado) && !P1.PODER && !P1.DEFENDENDO && !P1.AGACHADO) { P1.COLIDINDOdireita = true; P1.Vx = 0; P1.ANDANDO = false; P1.CORRENDO = false; P1.PARADO = true; } else if (!meio.Intersects(meio) && meio.X > P1.meio.X) { P1.COLIDINDOdireita = false; } if (P1.meio.Intersects(meio) && meio.X < P1.meio.X && !P1.ATACANDO && (!P1.PULANDOandando || !P1.PULANDOcorrendo || !P1.PULANDOparado) && !P1.PODER && !P1.DEFENDENDO && !P1.AGACHADO) { P1.COLIDINDOesquerda = true; P1.Vx = 0; P1.ANDANDO = false; P1.CORRENDO = false; P1.PARADO = true; } else if (!P1.meio.Intersects(meio) && meio.X < P1.meio.X) { P1.COLIDINDOesquerda = false; } } if (!P1.meio.Intersects(meio) && meio.X > P1.meio.X) { P1.COLIDINDOdireita = false; } if (!meio.Intersects(meio) && meio.X < P1.meio.X) { P1.COLIDINDOesquerda = false; } //-------------------------------------------------------- FRAMES (parte de DRAW + EFEITOS UPDATE) //PARADO //PARADO //PARADO //PARADO //PARADO //PARADO //PARADO //PARADO if (PARADO && !MORRENDO)//PARADO { individuo.Width = WidthTela / 10; individuo.Height = HeightTela / 4 + HeightTela / 27; //tamanho frameparadoi1.X++; if (frameparadoi1.X >= SpriteSheetAndari1.X) { frameparadoi1.X = 0; frameparadoi1.Y++; } if (frameparadoi1.X == 7 && frameparadoi1.Y == 9) { frameparadoi1.X = 0; frameparadoi1.Y = 0; } } //DIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITADIREITA //DIREITA //DIREITA //DIREITA //DIREITA else if (DIREITA && !ESQUERDA)//DIREITA { //ANDANDO //ANDANDO //ANDANDO //ANDANDO //ANDANDO //ANDANDO //ANDANDO if (ANDANDO) { Px += aleatório.Next(HeightTela / 300, HeightTela / 150); individuo.Width = WidthTela / 14; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameAndari1.X--; if (frameAndari1.X <= -1) { frameAndari1.X = 19; frameAndari1.Y++; } if (frameAndari1.X == 17 && frameAndari1.Y == 3) { frameAndari1.X = 19; frameAndari1.Y = 0; } } //TOMANDO HIT //TOMANDO HIT //TOMANDO HIT//TOMANDO HIT //TOMANDO HIT //TOMANDO HIT //TOMANDO HIT if (TOMANDOHIT) { if (HIT1)//CABEÇA { HIT2 = false; HIT3 = false; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 12; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 8; frameALLi1.Y++; } if (frameALLi1.X <= 1 && frameALLi1.Y == 2) { HIT1 = false; PARADO = true; TOMANDOHIT = false; opçluta = 0; } } if (HIT2)//PEITO { HIT1 = false; HIT3 = false; individuo.Width = WidthTela / 10; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 8; frameALLi1.Y++; } if (frameALLi1.X <= 1 && frameALLi1.Y == 2) { HIT2 = false; TOMANDOHIT = false; PARADO = true; opçluta = 0; } } if (HIT3)//Pernas (cair) { HIT1 = false; HIT2 = false; individuo.Width = WidthTela / 6; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } if (frameALLi1.X <= 4 && frameALLi1.Y == 5) { HIT3 = false; TOMANDOHIT = false; CAIDO = true; } } }//fim tomando hit //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS if (DEFENDENDO && !AGACHADO) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 12; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } if (frameALLi1.Y < 2) { frameALLi1.X--; } if (frameALLi1.Y >= 2) opçluta = 0; } //defendendo e agachando if (DEFENDENDO && AGACHADO) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } MediaPlayer.Resume(); if (frameALLi1.Y < 2) { frameALLi1.X--; } if (frameALLi1.Y >= 2) opçluta = 0; } //agachando sem defender if (!DEFENDENDO && AGACHADO) { individuo.Width = WidthTela / 12; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } if (frameALLi1.Y < 2) { frameALLi1.X--; } if (frameALLi1.Y >= 2) opçluta = 0; } //jogar faca if (ATACANDO) { ANDANDO = false; if (Jogar_Faca) { ANDANDO = false; individuo.Width = WidthTela / 8; individuo.Height = HeightTela / 4 + (3 * HeightTela / 70); frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } if (frameALLi1.X <= 1 && frameALLi1.Y == 7 || frameALLi1.Y > 7) { Jogar_Faca = false; ATACANDO = false; opçluta = 0; opç_Atk = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } if (frameALLi1.X == 5 && frameALLi1.Y == 5) { faca_voando = true; GerarFacas(WidthTela, HeightTela); } } if (ATACK1) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10 - HeightTela / 200; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } if (frameALLi1.X <= 0 && frameALLi1.Y == 3 || frameALLi1.Y > 3) { ATACK1 = false; ATACANDO = false; opçluta = 0; opç_Atk = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } //SE ENCOSTAR NO INIMIGO ELE TOMA HIT if (frameALLi1.X == 0 && frameALLi1.Y == 2 && (!P1.DEFENDENDO && P1.ESQUERDA || P1.DIREITA) && P1.meio.Intersects(individuo) && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 10 + P1.LVL; P1.Vx += HeightTela / 50; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit P1.gerarHUDVidaPerdida(HeightTela / 100); //10 de vida //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT1 = true; P1.HIT2 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 10 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } //FALTA MOSTRAR VC TOMANDO HIT }//fim atack1 } //APOS LEVAR HIT3 if (CAIDO) { individuo.Width = WidthTela / 6 + HeightTela / 70; individuo.Height = HeightTela / 4 + (3 * HeightTela / 70) - HeightTela / 10; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 3; frameALLi1.Y++; } if (frameALLi1.X <= 0 && frameALLi1.Y == 7) { frameALLi1.X = 3; frameALLi1.Y = 0; } } //levantar do chao if (LEVANTANDO) { individuo.Width = WidthTela / 6 + HeightTela / 70; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } if (frameALLi1.X <= 5 && frameALLi1.Y == 6) { PARADO = true; // FAZER COM QUE NAO DESAPAREÇA LEVANTANDO = false; opçluta = 0; } } //se morrer (MORRENDO) if (MORRENDO) { individuo.Width = WidthTela / 6; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70) + HeightTela / 100; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } PARADO = false; } //PODERRRR if (PODER) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10 - HeightTela / 200; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 9; frameALLi1.Y++; } //criando facas if (frameALLi1.X == 0 && frameALLi1.Y == 7) { GerarFacasPoder(WidthTela, HeightTela); faca_voando = true; VISUPODER();//CRIA UM EFEITO VISUAL } //fim do mov poder if (frameALLi1.X <= 4 && frameALLi1.Y == 12 || frameALLi1.Y > 12) { PARADO = true; // FAZER COM QUE NAO DESAPAREÇA PODER = false; opçluta = 0; } } //RASTEIRAAAAAA! if (RASTEIRA) { individuo.Width = WidthTela / 10 - HeightTela / 200 + HeightTela / 14; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70) + HeightTela / 100; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } //criando facas if (frameALLi1.X <= 1 && frameALLi1.Y == 7 || frameALLi1.Y > 7) { PARADO = true; // FAZER COM QUE NAO DESAPAREÇA RASTEIRA = false; opçluta = 0; } //movimento if (frameALLi1.X >= 1 && frameALLi1.Y < 7) { Px += HeightTela / 70; } if (individuo.Intersects(P1.meio) && (!P1.DEFENDENDO && !P1.AGACHADO && P1.ESQUERDA) && P1.meio.X > individuo.X && frameALLi1.Y >= 2 && frameALLi1.Y <= 5 && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 1 + P1.LVL; P1.gerarHUDVidaPerdida(HeightTela / HeightTela); //1 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 1 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 1 + P1.LVL; // P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 1 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } //falta fz P1 cair (hit) } //AGARRAR if (AGARRAR) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10 + HeightTela / 27; frameALLi1.X--; if (frameALLi1.X <= -1) { frameALLi1.X = 7; frameALLi1.Y++; } //se agarrar if (P1.meio.Intersects(individuo) && P1.meio.X > individuo.X && frameALLi1.Y >= 3 && frameALLi1.Y < 12 && (P1.DEFENDENDO && P1.AGACHADO || P1.DEFENDENDO && !P1.AGACHADO || !P1.DEFENDENDO && P1.AGACHADO || P1.PARADO || P1.CORRENDO || P1.ANDANDO) && !P1.ATACANDO && (!P1.PULANDOandando || !P1.PULANDOcorrendo || !P1.PULANDOparado) && g == 0) { P1.Vx = 0; P1.Vy = 0; P1.g = 0; P1.SENDOAGARRADO = true; P1.ANDANDO = false; P1.CORRENDO = false; P1.DEFENDENDO = false; P1.AGACHADO = false; P1.PARADO = true; // <= } //TOMANDO HIT (qnd FOR PEGO e esteja em TAL FRAME) if (frameALLi1.X == 6 && P1.meio.X > individuo.X && frameALLi1.Y == 5 && P1.meio.Intersects(individuo) && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 10 + P1.LVL; P1.gerarHUDVidaPerdida(HeightTela / 100); //10 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 10 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } if (frameALLi1.Y == 10 && P1.meio.X > individuo.X && P1.meio.Intersects(individuo) && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 2 + P1.LVL; P1.gerarHUDVidaPerdida(HeightTela / 400); //2 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 2 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 2 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 2 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } //fim do agarrar if (frameALLi1.X <= 3 && frameALLi1.Y == 12 || frameALLi1.Y > 12) { AGARRAR = false; opçluta = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA P1.SENDOAGARRADO = false; } } }//fim direita //ESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDAESQUERDA //ESQUERDA //ESQUERDA //ESQUERDA //ESQUERDA else if (!DIREITA && ESQUERDA)//ESQUERDA { //ANDANDO //ANDANDO //ANDANDO //ANDANDO //ANDANDO //ANDANDO if (ANDANDO) { Px -= aleatório.Next(HeightTela / 140, HeightTela / 130); individuo.Width = WidthTela / 14; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameAndari1.X++; if (frameAndari1.X >= SpriteSheetAndari1.X) { frameAndari1.X = 0; frameAndari1.Y++; } if (frameAndari1.X == 2 && frameAndari1.Y == 3) { frameAndari1.X = 0; frameAndari1.Y = 0; } } //TOMANDO HIT //TOMANDO HIT //TOMANDO HIT //TOMANDO HIT //TOMANDO HIT if (TOMANDOHIT) { if (HIT1)//CABEÇA { individuo.Width = WidthTela / 12; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X++; if (frameALLi1.X >= SpriteSheetHit1i1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 6 && frameALLi1.Y == 2 || frameALLi1.Y > 2) { HIT1 = false; TOMANDOHIT = false; opçluta = 0; PARADO = true; } } if (HIT2)//PEITO { individuo.Width = WidthTela / 10; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X++; if (frameALLi1.X >= SpriteSheetHit2i1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 6 && frameALLi1.Y == 2 || frameALLi1.Y > 2) { HIT2 = false; TOMANDOHIT = false; opçluta = 0; PARADO = true; } } if (HIT3)//Pernas (cair) { individuo.Width = WidthTela / 10 + HeightTela / 9;//(+120) individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X++; if (frameALLi1.X >= SpriteSheetHit3i1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 3 && frameALLi1.Y == 5 || frameALLi1.Y > 5) { HIT3 = false; TOMANDOHIT = false; CAIDO = true; } } } //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS //OUTROS MOVIMENTOS //ñ agachar e defender if (DEFENDENDO && !AGACHADO) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 12; if (frameALLi1.X >= SpriteSheetDEFi1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.Y < 2) { frameALLi1.X++; } if (frameALLi1.Y >= 2) opçluta = 0; } //agachando e defedendo if (DEFENDENDO && AGACHADO) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10; if (frameALLi1.X >= SpriteSheetAgacharDEFi1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.Y < 2) { frameALLi1.X++; } if (frameALLi1.Y >= 2) opçluta = 0; } //agachando e sem defeder if (!DEFENDENDO && AGACHADO) { individuo.Width = WidthTela / 12; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); if (frameALLi1.X >= SpriteSheetAgachari1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.Y < 2) { frameALLi1.X++; } if (frameALLi1.Y >= 2) opçluta = 0; } //ATACANDOoooooooooooooooo if (ATACANDO) { ANDANDO = false; if (Jogar_Faca) { ANDANDO = false; individuo.Width = WidthTela / 8; individuo.Height = HeightTela / 4 + (3 * HeightTela / 70); frameALLi1.X++; if (frameALLi1.X >= SpriteSheetJogarFacai1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 6 && frameALLi1.Y == 7 || frameALLi1.Y > 7) { Jogar_Faca = false; ATACANDO = false; opçluta = 0; opç_Atk = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } if (frameALLi1.X == 2 && frameALLi1.Y == 5) { faca_voando = true; GerarFacas(WidthTela, HeightTela); } }//fim do jogar faca if (ATACK1) { individuo.Width = WidthTela / 10 - HeightTela / 200; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X++; if (frameALLi1.X >= SpriteSheetATK1i1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 7 && frameALLi1.Y == 3 || frameALLi1.Y > 3) { ATACK1 = false; ATACANDO = false; opçluta = 0; opç_Atk = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } //SE ENCOSTAR NO INIMIGO ELE TOMA HIT if (frameALLi1.X == 7 && frameALLi1.Y == 2 && (!P1.DEFENDENDO && P1.DIREITA || P1.ESQUERDA) && P1.meio.Intersects(individuo) && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 10 + P1.LVL; P1.Vx -= HeightTela / 50; P1.gerarHUDVidaPerdida(HeightTela / 100); //10 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT1 = true; P1.HIT2 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 10 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } }//fim atack1 } //APOS LEVAR HIT3 if (CAIDO) { individuo.Height = HeightTela / 4 + (3 * HeightTela / 70) - HeightTela / 10; individuo.Width = WidthTela / 6 + HeightTela / 70; frameALLi1.X++; if (frameALLi1.X >= SpriteSheetCaidoi1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 3 && frameALLi1.Y == 7) { frameALLi1.X = 0; frameALLi1.Y = 0; } } //levantar do chao if (LEVANTANDO) { individuo.Width = WidthTela / 6 + HeightTela / 70; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); frameALLi1.X++; if (frameALLi1.X >= SpriteSheetLevantari1.X) { frameALLi1.X = 0; frameALLi1.Y++; } if (frameALLi1.X >= 2 && frameALLi1.Y == 6 || frameALLi1.Y > 6) { LEVANTANDO = false; opçluta = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } } //MORRENDO - morte (invunerável) if (MORRENDO) { individuo.Width = WidthTela / 6; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70) + HeightTela / 100; frameALLi1.X++; if (frameALLi1.X >= SpriteSheetMORTEi1.X) { frameALLi1.X = 0; frameALLi1.Y++; } PARADO = false; } //PODERRRR if (PODER) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10 - HeightTela / 200; frameALLi1.X++; if (frameALLi1.X >= SpriteSheetPODERi1.X) { frameALLi1.X = 0; frameALLi1.Y++; } //criando facas if (frameALLi1.X == 9 && frameALLi1.Y == 7) { GerarFacasPoder(WidthTela, HeightTela); faca_voando = true; VISUPODER();//CRIA UM EFEITO VISUAL } //fim do mov poder if (frameALLi1.X >= 5 && frameALLi1.Y == 12 || frameALLi1.Y > 12) { PODER = false; opçluta = 0; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } } //RASTEIRAAAAAA! if (RASTEIRA) { individuo.Width = WidthTela / 10 - HeightTela / 200 + HeightTela / 14; individuo.Height = HeightTela / 4 + (2 * HeightTela / 70) + HeightTela / 100; frameALLi1.X++; if (frameALLi1.X >= SpriteSheetRasteirai1.X) { frameALLi1.X = 0; frameALLi1.Y++; } //criando facas if (frameALLi1.X >= 6 && frameALLi1.Y == 7 || frameALLi1.Y > 7) { RASTEIRA = false; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA opçluta = 0; } if (frameALLi1.X >= 1 && frameALLi1.Y < 7) { Px -= HeightTela / 70; } if (individuo.Intersects(P1.meio) && (!P1.DEFENDENDO && !P1.AGACHADO && P1.DIREITA) && P1.meio.X < individuo.X && frameALLi1.Y >= 2 && frameALLi1.Y <= 5 && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 1 + P1.LVL; P1.gerarHUDVidaPerdida(HeightTela / HeightTela); //1 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 1 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 1 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 1 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } //falta fz P1 cair (hit) } //AGARRAR if (AGARRAR) { individuo.Height = HeightTela / 4 + (2 * HeightTela / 70); individuo.Width = WidthTela / 10 + HeightTela / 27; frameALLi1.X++; if (frameALLi1.X >= SpriteSheetAgarrari1.X) { frameALLi1.X = 0; frameALLi1.Y++; } //se agarrar if (P1.meio.Intersects(individuo) && P1.meio.X < individuo.X && frameALLi1.Y >= 3 && frameALLi1.Y < 12 && (P1.DEFENDENDO && P1.AGACHADO || P1.DEFENDENDO && !P1.AGACHADO || !P1.DEFENDENDO && P1.AGACHADO || P1.PARADO || P1.CORRENDO || P1.ANDANDO) && !P1.ATACANDO && (!P1.PULANDOandando || !P1.PULANDOcorrendo || !P1.PULANDOparado) && g == 0) { P1.Vx = 0; P1.Vy = 0; P1.g = 0; P1.SENDOAGARRADO = true; P1.ANDANDO = false; P1.CORRENDO = false; P1.DEFENDENDO = false; P1.AGACHADO = false; P1.PARADO = true; } //TOMANDO HIT (qnd FOR PEGO e esteja em TAL FRAME) if (frameALLi1.X == 2 && P1.meio.X < individuo.X && frameALLi1.Y == 5 && P1.meio.Intersects(individuo) && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 10 + P1.LVL; P1.gerarHUDVidaPerdida(HeightTela / 100); //10 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 2); //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 10 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } if (frameALLi1.Y == 10 && P1.meio.X < individuo.X && P1.meio.Intersects(individuo) && !P1.IVUNERAVEL) { if (!P1.PODERescudo) { P1.vida -= 2 + P1.LVL; P1.gerarHUDVidaPerdida(HeightTela / 400); //2 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 2 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= 2 + P1.LVL; P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 2 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } //fim do agarrar if (frameALLi1.X >= 4 && frameALLi1.Y == 12 || frameALLi1.Y > 12) { AGARRAR = false; opçluta = 0; P1.SENDOAGARRADO = false; PARADO = true; // FAZER COM QUE NAO DESAPAREÇA } } }//fim da esquerda //SPRITESHEET DA FACA //SPRITESHEET DA FACA //SPRITESHEET DA FACA //SPRITESHEET DA FACA //SPRITESHEET DA FACA if (faca_voando) { for (int i = 0; i < listadefacas.Count; i++) { if (listadefacas[i].esquerda) { listadefacas[i].frameFACA.X++; if (listadefacas[i].frameFACA.X >= listadefacas[i].SpriteSheetFacai1.X) { listadefacas[i].frameFACA.X = 0; listadefacas[i].frameFACA.Y++; } if (listadefacas[i].frameFACA.X == 2 && listadefacas[i].frameFACA.Y == 2) { listadefacas[i].frameFACA.X = 0; listadefacas[i].frameFACA.Y = 0; } } if (listadefacas[i].direita) { listadefacas[i].frameFACA.X--; if (listadefacas[i].frameFACA.X <= -1) { listadefacas[i].frameFACA.X = 7; listadefacas[i].frameFACA.Y++; } if (listadefacas[i].frameFACA.X == 5 && listadefacas[i].frameFACA.Y == 2) { listadefacas[i].frameFACA.X = 7; listadefacas[i].frameFACA.Y = 0; } } } //POSIÇÃO DA FACA // OUTRO OBJETO //POSIÇÃO DA FACA // OUTRO OBJETO //POSIÇÃO DA FACA // OUTRO OBJETO //POSIÇÃO DA FACA // OUTRO OBJETO PosiçãoOBJLançado(WidthTela, HeightTela, P1); } }
//SANGRAR //SANGRAR //SANGRAR //SANGRAR //SANGRAR //SANGRAR //SANGRAR //SANGRAR public void Sangrar(int WidthTela, int HeightTela, Personagem P1, Random aleatório) { //sangra apenas se acertar no inimigo E quando acertar, se nao defender if (P1.individuo.Intersects(meio) && P1.ATACANDO && (P1.individuo.X < individuo.X && P1.DIREITA || P1.individuo.X > individuo.X && P1.ESQUERDA) && !DEFENDENDO && !MORRENDO) { if (!RASTEIRA && ((P1.DIREITA && ((P1.PARTE1 && !AGACHADO && P1.frameLUTA.Y >= 1) || (P1.PARTE2 && !AGACHADO && (P1.frameLUTA.X >= 5 && P1.frameLUTA.Y == 2) || P1.frameLUTA.Y >= 2) || (P1.PARTE3 && (P1.frameLUTA.X >= 4 && P1.frameLUTA.Y == 3) || P1.frameLUTA.Y == 4) || (P1.PARTE4 && P1.frameLUTA.Y >= 3))) || (P1.ESQUERDA && ((P1.PARTE1 && !AGACHADO && P1.frameLUTA.Y >= 1) || (P1.PARTE2 && !AGACHADO && (P1.frameLUTA.X <= 2 && P1.frameLUTA.Y == 2) || P1.frameLUTA.Y >= 2) || (P1.PARTE3 && (P1.frameLUTA.X <= 3 && P1.frameLUTA.Y == 3) || P1.frameLUTA.Y == 4) || (P1.PARTE4 && P1.frameLUTA.Y >= 3))))) {//para sangrar / tomar dano apenas qnd estiver em tal parte do ataque Sangue S1 = new Sangue(); S1.sangueR.Width = HeightTela / 100; S1.sangueR.Height = HeightTela / 100; if (P1.PARTE4 && P1.COMBO1) { S1.Vx = individuo.X + individuo.Width / 2 + (-Contexto.Fundo.fase.X); // posiçao do jogar + a posição mapa = posição universal S1.Vy = P1.individuo.Y + P1.individuo.Height / 2 + (-Contexto.Fundo.fase.Y); } if ((P1.PARTE2 || P1.PARTE3) && P1.COMBO1) { S1.Vx = individuo.X + individuo.Width / 2 + (-Contexto.Fundo.fase.X); // posiçao do jogar + a posição mapa = posição universal S1.Vy = P1.individuo.Y + P1.individuo.Height / 3 + (-Contexto.Fundo.fase.Y); } if (P1.PARTE1) { S1.Vx = individuo.X + individuo.Width / 2 + (-Contexto.Fundo.fase.X); // posiçao do jogar + a posição mapa = posição universal S1.Vy = P1.individuo.Y + P1.individuo.Height / 3 + (-Contexto.Fundo.fase.Y); } S1.g = 0; listadesangue.Add(S1); } }//fim da criação de sangue (SANGRAR) //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE //RECEBENDO ATAQUE if (P1.individuo.Intersects(meio) && P1.ATACANDO && (P1.individuo.X < individuo.X && P1.DIREITA || P1.individuo.X > individuo.X && P1.ESQUERDA) && !CAIDO && !MORRENDO) { //COMBO1 //COMBO1 //COMBO1 //COMBO1 if (((P1.DIREITA && (P1.PARTE1 && P1.frameLUTA.Y == 1 && P1.frameLUTA.X == 1) && (!DEFENDENDO && ESQUERDA || DIREITA)) || (P1.ESQUERDA && (P1.PARTE1 && P1.frameLUTA.Y >= 1 && P1.frameLUTA.X == 6) && (!DEFENDENDO && DIREITA || ESQUERDA))) && !P1.INVERSO && !AGACHADO && !RASTEIRA) {//para sangrar / tomar dano apenas qnd estiver em tal parte do ataque vida -= 10 + P1.LVL; gerarHUDVidaPerdida(HeightTela / 100, P1); P1.GERARdano(this.individuo.X, this.individuo.Y, this.individuo.Width, this.individuo.Height, P1.DIREITA, P1.ESQUERDA, 10 + P1.LVL, WidthTela, HeightTela, 1); // personagem leva dano (do personagem) HIT1 = true; opçluta = 10; //faz tomar hit e parar tudo //FORMA PRO INIMIGO SEMPRE RECEBER O HIT DE FRENTE if (P1.DIREITA) { DIREITA = false; ESQUERDA = true; } if (P1.ESQUERDA) { ESQUERDA = false; DIREITA = true; } if (P1.DIREITA) { frameALLi1.X = 0; frameALLi1.Y = 0; ESQUERDA = true; } if (P1.ESQUERDA) { frameALLi1.X = 8; frameALLi1.Y = 0; DIREITA = true; } } if (((P1.DIREITA && (P1.PARTE2 && P1.frameLUTA.X == 4 && P1.frameLUTA.Y == 2) && (!DEFENDENDO && ESQUERDA || DIREITA)) || P1.ESQUERDA && (P1.PARTE2 && P1.frameLUTA.X == 2 && P1.frameLUTA.Y == 2) && (!DEFENDENDO && DIREITA || ESQUERDA)) && P1.COMBO1 && !AGACHADO && !RASTEIRA) { vida -= 20 + P1.LVL; gerarHUDVidaPerdida(HeightTela / 52, P1); P1.GERARdano(this.individuo.X, this.individuo.Y, this.individuo.Width, this.individuo.Height, P1.DIREITA, P1.ESQUERDA, 20 + P1.LVL, WidthTela, HeightTela, 1); // personagem leva dano (do personagem) HIT1 = true; TOMANDOHIT = true; //FORMA PRO INIMIGO SEMPRE RECEBER O HIT DE FRENTE if (P1.DIREITA) { DIREITA = false; ESQUERDA = true; } if (P1.ESQUERDA) { ESQUERDA = false; DIREITA = true; } opçluta = 10; //faz tomar hit e parar tudo if (P1.DIREITA) { frameALLi1.X = 0; frameALLi1.Y = 0; ESQUERDA = true; } if (P1.ESQUERDA) { frameALLi1.X = 8; frameALLi1.Y = 0; DIREITA = true; } } if ((P1.DIREITA && (P1.PARTE3 && P1.frameLUTA.X == 4 && P1.frameLUTA.Y == 3) && (!DEFENDENDO && ESQUERDA || DIREITA) || P1.ESQUERDA && (P1.PARTE3 && (P1.frameLUTA.X == 3 && P1.frameLUTA.Y == 3) && (!DEFENDENDO && DIREITA || ESQUERDA))) && P1.COMBO1 && !RASTEIRA) { vida -= 30 + P1.LVL; gerarHUDVidaPerdida(HeightTela / 27, P1); P1.GERARdano(this.individuo.X, this.individuo.Y, this.individuo.Width, this.individuo.Height, P1.DIREITA, P1.ESQUERDA, 30 + P1.LVL, WidthTela, HeightTela, 1); // personagem leva dano (do personagem) HIT2 = true; TOMANDOHIT = true; //FORMA PRO INIMIGO SEMPRE RECEBER O HIT DE FRENTE if (P1.DIREITA) { DIREITA = false; ESQUERDA = true; } if (P1.ESQUERDA) { ESQUERDA = false; DIREITA = true; } opçluta = 10; //faz tomar hit e parar tudo if (P1.DIREITA) { frameALLi1.X = 0; frameALLi1.Y = 0; ESQUERDA = true; } if (P1.ESQUERDA) { frameALLi1.X = 8; frameALLi1.Y = 0; DIREITA = true; } } if ((P1.DIREITA && P1.PARTE4 && P1.frameLUTA.Y == 4 && P1.frameLUTA.X == 0 && (!DEFENDENDO && ESQUERDA || DIREITA) || P1.ESQUERDA && P1.PARTE4 && P1.frameLUTA.Y == 4 && P1.frameLUTA.X == 7 && (!DEFENDENDO && DIREITA || ESQUERDA)) && P1.COMBO1 && !RASTEIRA) { vida -= 30 + P1.LVL; gerarHUDVidaPerdida(HeightTela / 27, P1); P1.GERARdano(this.individuo.X, this.individuo.Y, this.individuo.Width, this.individuo.Height, P1.DIREITA, P1.ESQUERDA, 30 + P1.LVL, WidthTela, HeightTela, 1); // personagem leva dano (do personagem) HIT2 = true; //FORMA PRO INIMIGO SEMPRE RECEBER O HIT DE FRENTE if (P1.DIREITA) { DIREITA = false; ESQUERDA = true; } if (P1.ESQUERDA) { ESQUERDA = false; DIREITA = true; } opçluta = 10; //faz tomar hit e parar tudo if (P1.DIREITA) { frameALLi1.X = 0; frameALLi1.Y = 0; ESQUERDA = true; } if (P1.ESQUERDA) { frameALLi1.X = 8; frameALLi1.Y = 0; DIREITA = true; } } // }//fim dos ATAQUES do personagem (PARTE HIT) //posição do SANGUE if (listadesangue.Count > 0) // se nao for nulo a qntdd { for (int i = 0; i < listadesangue.Count; i++) { listadesangue[i].sangueR.X = listadesangue[i].Vx + Contexto.Fundo.fase.X + listadesangue[i].VariavelX; // posição definida (não variável) listadesangue[i].sangueR.Y = listadesangue[i].Vy + Contexto.Fundo.fase.Y + listadesangue[i].g; //velocidade gravidade listadesangue[i].g += aleatório.Next(HeightTela / 250, HeightTela / 100); //direita ou esquerda if (P1.individuo.Intersects(meio) && P1.individuo.X < individuo.X && P1.DIREITA) { listadesangue[i].VariavelX += aleatório.Next(HeightTela / 300, HeightTela / 50); } if (P1.individuo.Intersects(meio) && P1.individuo.X > individuo.X && P1.ESQUERDA) { listadesangue[i].VariavelX -= aleatório.Next(HeightTela / 300, HeightTela / 50); } if (listadesangue[i].sangueR.Intersects(Contexto.Fundo.chao) || listadesangue[i].sangueR.Y > Contexto.Fundo.chao.Y + Contexto.Fundo.chao.Height) { listadesangue.Remove(listadesangue[i]); } } } }
//posição da faca //posição da faca //posição da faca //posição da faca //posição da faca //posição da faca public void PosiçãoOBJLançado(int WidthTela, int HeightTela, Personagem P1) { //posição da faca if (listadefacas.Count > 0) { for (int i = 0; i < listadefacas.Count; i++) { if (!listadefacas[i].CAINDO) { listadefacas[i].OBJ.X = listadefacas[i].PosX + Contexto.Fundo.fase.X + listadefacas[i].Vx; // posição definida (não variável) listadefacas[i].OBJ.Y = listadefacas[i].PosY + Contexto.Fundo.fase.Y + listadefacas[i].Vy; if (listadefacas[i].esquerda) { listadefacas[i].Vx -= HeightTela / 120; } if (listadefacas[i].direita) { listadefacas[i].Vx += HeightTela / 120; } listadefacas[i].Vy += HeightTela / 200; if (P1.meio.Intersects(listadefacas[i].OBJ)) { if (!P1.IVUNERAVEL || !P1.DEFENDENDO) { if (!P1.PODERescudo) { P1.vida -= HeightTela / 70 + P1.LVL; //(15 de vida) P1.gerarHUDVidaPerdida(HeightTela / 70); //15 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 15 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO && !P1.DEFENDENDO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= HeightTela / 70 + P1.LVL; //(15 de vida) P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 15 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } listadefacas.Remove(listadefacas[i]); } } } for (int i = 0; i < listadefacas.Count; i++) { if (listadefacas[i].CAINDO) { listadefacas[i].OBJ.X = listadefacas[i].PosX + Contexto.Fundo.fase.X + listadefacas[i].Vx; // posição definida (não variável) listadefacas[i].OBJ.Y = listadefacas[i].PosY + Contexto.Fundo.fase.Y + listadefacas[i].Vy; listadefacas[i].Vy += HeightTela / 100; if (P1.meio.Intersects(listadefacas[i].OBJ)) { if (!P1.IVUNERAVEL || !P1.DEFENDENDO) { if (!P1.PODERescudo) { P1.vida -= HeightTela / 70 + P1.LVL; //(15 de vida) P1.gerarHUDVidaPerdida(HeightTela / 70); //15 de vida P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 15 + P1.LVL, WidthTela, HeightTela, 2); // personagem leva hit //HIT //HIT //PERSONAGEM TOMA HIT if (!P1.PULANDOandando && !P1.PULANDOcorrendo && !P1.PULANDOparado && !P1.AGACHADO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.HIT2 = true; P1.HIT1 = false; } if (P1.AGACHADO && !P1.DEFENDENDO) { if (P1.DIREITA) { P1.frameHIT.X = 0; P1.frameHIT.Y = 0; } else if (P1.ESQUERDA) { P1.frameHIT.X = 7; P1.frameHIT.Y = 0; } P1.AGACHADOHIT = true; } } else if (P1.PODERescudo) { ESCUDO.e.Quantidade -= HeightTela / 70 + P1.LVL; //(15 de vida) P1.GERARdano(P1.individuo.X, P1.individuo.Y, P1.individuo.Width, P1.individuo.Height, this.DIREITA, this.ESQUERDA, 15 + P1.LVL, WidthTela, HeightTela, 4); // personagem leva hit } } listadefacas.Remove(listadefacas[i]); } } } } if (listadefacas.Count == 0) { faca_voando = false; } }
public void Funçao(Personagem P1, int W, int H, List<Inimigo> i1) { for (int i = 0; i < P1.listavento.Count; i++) { if (P1.PODERvento && P1.listavento.Count > 0) { if (JANELA.J.VENTOselect && P1.listavento[i].PODERvento) { //POSIÇÃO P1.listavento[i].R.X = P1.listavento[i].Vx + P1.listavento[i].PS.X + Contexto.Fundo.fase.X; P1.listavento[i].R.Y = P1.listavento[i].PS.Y + Contexto.Fundo.fase.Y; for (int a = 0; a < i1.Count; a++) { if (i1.Count > 0) { if (P1.listavento[i].R.Intersects(i1[a].individuo)) { i1[a].vida -= H / 200; i1[a].gerarHUDVidaPerdida(H / 200, P1); P1.GERARdano(i1[a].individuo.X, i1[a].individuo.Y, i1[a].individuo.Width, i1[a].individuo.Height, P1.DIREITA, P1.ESQUERDA, H / 200, W, H, 1); // personagem leva dano (do personagem) if (P1.listavento[i].D) i1[a].Px += H / 15; //72 else if (P1.listavento[i].E) i1[a].Px -= H / 15; //-72 } }// } P1.listavento[i].Delay++; if (P1.listavento[i].D && P1.listavento[i].Delay >= 2) { P1.listavento[i].Vx += H / 20; //54 P1.listavento[i].frame.X++; P1.listavento[i].Delay = 0; if (P1.listavento[i].frame.X >= P1.listavento[i].spritesheet.X) { P1.listavento[i].PODERvento = false; P1.listavento.Remove(P1.listavento[i]); } } else if (P1.listavento[i].E && P1.listavento[i].Delay >= 2) { P1.listavento[i].Vx -= H / 20; //-54 P1.listavento[i].frame.X--; P1.listavento[i].Delay = 0; if (P1.listavento[i].frame.X <= -1) { P1.listavento[i].PODERvento = false; P1.listavento.Remove(P1.listavento[i]); } } } } if (P1.listavento.Count == 0) { P1.PODERvento = false; } } }
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 }