public override bool Mover(int pfx, int pfy, long tics) { if (enPosesion == 1) { foreach (Entidad i in Mapa.Personajes) { if (i is Cazador) { Cazador temp = (Cazador)i; if (posx == temp.posx && posy == temp.posy) { enPosesion = -1; //Definitivamente alguien la tiene Dueño = temp; temp.tieneQuaffle = true; } } } } else if (enPosesion > 1) //Pelea por la quaffle { Cazador cazadorsuperior = new Cazador(0, 0, false, "dummy", '0'); Cazador cazadortemp; bool fp = true; int mejordestreza = 0; foreach (Entidad i in Mapa.Personajes) { if (i is Cazador) { cazadortemp = (Cazador)i; if (cazadortemp.enQuaffle == true) { if (fp == true) { fp = false; cazadorsuperior = (Cazador)i; mejordestreza = cazadorsuperior.destreza; } else { if (mejordestreza < cazadortemp.destreza) { cazadorsuperior = (Cazador)i; mejordestreza = cazadorsuperior.destreza; } } } } } cazadorsuperior.tieneQuaffle = true; } else if (enPosesion == 0) { } else if (enPosesion == -1) { } return(true); }
public void reestablecer() { Random rnd = new Random(); Mapa.Personajes = new List <Entidad>(); //Implementar clase que obtenga nombres //Nombres Reponom = new Nombres({,,,}); //Reponom.sacarNombre(); Nomop nombres = new Nomop(); //Pelotas //Equipo 1 izquierda + true Cazador c1e1 = new Cazador(12, 3, true, nombres.getnom(), '►'); Cazador c2e1 = new Cazador(12, 9, true, nombres.getnom(), '►'); Cazador c3e1 = new Cazador(12, 15, true, nombres.getnom(), '►'); Golpeador g1e1 = new Golpeador(17, 3, true, nombres.getnom(), '♠'); Golpeador g2e1 = new Golpeador(17, 15, true, nombres.getnom(), '♠'); Guardian ge1 = new Guardian(1, 9, true, nombres.getnom(), (char)18); //Equipo 2 derecha - false Cazador c1e2 = new Cazador(61, 3, false, nombres.getnom(), '◄'); Cazador c2e2 = new Cazador(61, 9, false, nombres.getnom(), '◄'); Cazador c3e2 = new Cazador(61, 15, false, nombres.getnom(), '◄'); Golpeador g1e2 = new Golpeador(56, 3, false, nombres.getnom(), '♥'); Golpeador g2e2 = new Golpeador(56, 15, false, nombres.getnom(), '♥'); Guardian ge2 = new Guardian(72, 9, false, nombres.getnom(), (char)18); //Mas pelotas Quaffle q = new Quaffle(36, 9); #region Mapa.Personajes.Add(c1e1); Mapa.Personajes.Add(c2e1); Mapa.Personajes.Add(c3e1); Mapa.Personajes.Add(g1e1); Mapa.Personajes.Add(g2e1); Mapa.Personajes.Add(ge1); Mapa.Personajes.Add(c1e2); Mapa.Personajes.Add(c2e2); Mapa.Personajes.Add(c3e2); Mapa.Personajes.Add(g1e2); Mapa.Personajes.Add(g2e2); Mapa.Personajes.Add(ge2); Mapa.Personajes.Add(q); #endregion }
public override bool Mover(int pfx, int pfy, long tics) { double minim = 0; Quaffle qt = (Quaffle)Mapa.Personajes[12]; if (tieneQuaffle == true) //Si tiene la quaffle, debe ver si puede disparar, si no, debe avanzar y cargarla con el { //Buscar el aro mas cercano if (equipo == false) { double d1 = Math.Pow(Math.Abs(posx - 1), 2) + Math.Pow(Math.Abs(posy - 6), 2); //73 9 73 6 73 12 double d2 = Math.Pow(Math.Abs(posx - 1), 2) + Math.Pow(Math.Abs(posy - 9), 2); double d3 = Math.Pow(Math.Abs(posx - 1), 2) + Math.Pow(Math.Abs(posy - 12), 2); minim = Math.Min(d1, d2); minim = Math.Min(minim, d3); } if (equipo == true) { double d1 = Math.Pow(Math.Abs(posx - 73), 2) + Math.Pow(Math.Abs(posy - 6), 2); //73 9 73 6 73 12 double d2 = Math.Pow(Math.Abs(posx - 73), 2) + Math.Pow(Math.Abs(posy - 9), 2); double d3 = Math.Pow(Math.Abs(posx - 73), 2) + Math.Pow(Math.Abs(posy - 12), 2); minim = Math.Min(d1, d2); minim = Math.Min(minim, d3); } bool exito = this.disparar(minim); qt.posx = posx; qt.posy = posy; return(exito); } else if (qt.enPosesion == 0) //si no la tiene, debe ver donde esta, y si alguien mas la tiene { return(seguirQuaffle(qt, tics)); } else if (qt.enPosesion == -1 && tieneQuaffle == false) { foreach (Entidad i in Mapa.Personajes) { if (i is Cazador) { Cazador j = (Cazador)i; if (j.tieneQuaffle) { this.seguir(j.posx, j.posy, tics); } } } } return(true); }
public void seguirCazador(Cazador c1, Cazador c2, Cazador c3) { }