Ver Mensaje Individual
  #7  
Antiguo 27-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Hola, como te ha indicado Neftali debes guardar los datos que obteniendo con el random, paar ello podrías crearte tu estructura y almacenarlo en un TObjectList, así cada ves que quieras ver si alguno de tus valores ya estuvieran recorres tu lista y verificas. Otra cosita nose porque estas utilizando dos for si al final le asignas a Top y Left el valor del Random, si objetivo es buscar un random en un rango entonces puedes utilizar RandomRange, mas o menos así quedaría tu codigo.

Código Delphi [-]
  TCoordenadas = class
  private
   Imagen  : String;
   X,
   Y,
   aWith,
   aHeigth : Integer;
  public
  end;

 ...................
 uses Contnrs;
 ...................................
    Coordenadas  : TCoordenadas;
    Lista        : TObjectList;
 ....................................
 
procedure Guardar(aImagen : TImage);
begin
 With Coordenadas Do
  begin
   Imagen := aImagen.Name;
   X := aImagen.Left;
   Y := aImagen.Top;
   aWith := aImagen.Width;
   aHeigth := aImagen.Height;
  end;
 Lista.Add(Coordenadas);
end;

procedure PosicionarImagen(aImagen : TImage);
var
 aTop, aLeft : Integer;
begin
 //esto reemplazaría a tus for
 aTop := RandomRange(0, 372);
 aLeft := RandomRange(0, 575);
 
 aImagen.Top := aTop;
 aImagen.Left:= aLeft;
end;

//teniendo el procedimiento de arriba solo llamas con los Image que tienes
procedure TForm1.Button1Click(Sender: TObject);
begin
 Lista.Clear; //Paar limpiar nuestra lista
 PosicionarImagen(Image1);
 PosicionarImagen(Image2);
 PosicionarImagen(Image3);
 PosicionarImagen(Image4);
end;

lo que faltaría es recorrer la lista cada ves que encuentre un random y verificar si hay colisiones, si lo hay calcular otro random.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita