Esempio n. 1
0
 public bool Equals(auxMov a)
 {
     if (a.pc == this.pc && a.pl == this.pl && a.distancia == this.distancia)
         return true;
     else
         return false;
 }
Esempio n. 2
0
 public bool Equals(auxMov a)
 {
     if (a.pc == this.pc && a.pl == this.pl && a.distancia == this.distancia)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// realiza el movimiento de una fichaPc randomeada
        /// </summary>
        private void IAmovimiento()
        {
            if (fichasPlayer.Count > 0)
            {
                clsFicha fichaPC = fichasPc[r.Next(0, fichasPc.Count)];//randomeo una fichaPC
                double distancia = pnlBase.Width;

                List<auxMov> distancias = new List<auxMov>();

                foreach (clsFicha fpc in fichasPc)
                {
                    clsFicha cercana = new clsFicha();

                    foreach (clsFicha f in fichasPlayer)//establezco la fichaPlayer mas cercana a la fichaPC randomeada
                    {
                        if (IADistancia(fpc.Ubicacion, f.Ubicacion) < distancia)
                        {
                            cercana = f;
                        }
                    }
                    distancias.Add(new auxMov(fpc, cercana, IADistancia(fpc.Ubicacion, cercana.Ubicacion)));

                }
                distancia = pnlBase.Width;
                auxMov am = new auxMov();

                foreach (auxMov a in distancias)
                {
                    if (a.Distancia < distancia)
                        am = a;
                }
                distancias.Clear();

                if (!IAPosSupIzqPc(am.Pc, am.Pl))
                {
                    if (!IAPosSupDerPc(am.Pc, am.Pl))
                    {
                        if (!IAPosInfIzqPc(am.Pc, am.Pl))
                        {
                            IAPosInfDerPc(am.Pc, am.Pl);
                        }
                    }
                }

                //foreach (clsFicha f in fichasPlayer)//establezco la fichaPlayer mas cercana a la fichaPC randomeada
                //{
                //    if (IADistancia(fichaPC.Ubicacion,f.Ubicacion)<distancia)
                //    {
                //        cercana = f;
                //    }
                //}
                //if(!IAPosSupIzqPc(fichaPC, cercana))
                //{
                //    if (!IAPosSupDerPc(fichaPC, cercana))
                //    {
                //        if (!IAPosInfIzqPc(fichaPC, cercana))
                //        {
                //            IAPosInfDerPc(fichaPC, cercana);
                //        }
                //    }
                //}
            }
        }