示例#1
0
 public void buscarMoronas()
 {
     lock (espacio.moronas)
     {
         double min = -1;
         foreach (Morona morona in espacio.moronas)
         {
             if (morona.active)
             {
                 if (min == -1)
                 {
                     min = Math.Sqrt(Math.Pow(morona.position.X - position.X, 2) + Math.Pow(morona.position.Y - position.Y, 2));
                 }
                 else
                 {
                     min = Math.Min(min, Math.Sqrt(Math.Pow(morona.position.X - position.X, 2) + Math.Pow(morona.position.Y - position.Y, 2)));
                 }
                 if (Math.Sqrt(Math.Pow(morona.position.X - position.X, 2) + Math.Pow(morona.position.Y - position.Y, 2)) <= distanciaBusqueda && min == Math.Sqrt(Math.Pow(morona.position.X - position.X, 2) + Math.Pow(morona.position.Y - position.Y, 2)))
                 {
                     estado      = Estado.RECOLECTAR_MORONA;
                     this.morona = morona;
                 }
             }
         }
     }
 }
示例#2
0
 public void irAMorona()
 {
     if (morona.active)
     {
         if (position.X <= morona.position.X + cercania && position.X >= morona.position.X - cercania && position.Y <= morona.position.Y + cercania && position.Y >= morona.position.Y - cercania)
         {
             morona.recoger();
             estado = Estado.HACIENDO_NADA;
             morona = null;
         }
         else
         {
             if (position.X < morona.position.X)
             {
                 position.X += velocidad;
             }
             if (position.X > morona.position.X)
             {
                 position.X -= velocidad;
             }
             if (position.Y < morona.position.Y)
             {
                 position.Y += velocidad;
             }
             if (position.Y > morona.position.Y)
             {
                 position.Y -= velocidad;
             }
         }
     }
     else
     {
         //Otro la recogio
         estado = Estado.HACIENDO_NADA;
         morona = null;
     }
 }