Skip to content

Delphi Random

Quien no ha soñado desde niño en ser un programador de video juegos, trabajando de lo que nos gustaba.

Ahora que sabes programas, ¿Programaste algún video juego?

Si eres programador en Delphi, podes programar tu video juego soñado. Y aunque no lo creas, una función que se utiliza mucho mas de lo que crees, es el Random.

Te doy un ejemplo, en un juego como la sopa de letras gratis, la ubicación de cada letra (salvo las predefinidas) se ubican de forma aleatoria, simplemente ejecutando el random.

Uso del Random en Delphi

La descripción de la función, dice que genera números aleatorios dentro de un rango específico.

Random devuelve un número aleatorio dentro del rango

0 <= X <= rango

Si no especificamos el rango, devuelve

0 <= X <= 1

Pero ojo, no es solo llamar a l función Random() y delphi nos devuelve un número aleatorio, sino que hay que iniializar el generador de números aleatorios.

Para inicializar el generador de números aleatorios, se debe llamar a la función Randomize.

Una vez inicializado el generador de números aleatorios, ya estamos listos para poder llamar a la función Random().

Ejemplo de Random en Delphi

Para ejemplificar la función Random() no hay nada más sencillo que el ejemplo que nos dá Embarcadero en su DocWiki:

var
  X, Y: Integer;

procedure TForm1.FormActivate(Sender: TObject);
begin
  WindowState := wsMaximized;
  Timer1.Interval := 50;
  Randomize;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  X := Random(Screen.Width - 10);
  Y := Random(Screen.Height - 10);
  Canvas.Pen.Color := Random(65535);
  case Random(5) of
    0: Canvas.Pen.Style := psSolid;
    1: Canvas.Pen.Style := psDash;
    2: Canvas.Pen.Style := psDot;
    3: Canvas.Pen.Style := psDashDot;
    4: Canvas.Pen.Style := psDashDotDot;
  end;
  Canvas.Rectangle(X, Y, X + Random(400), Y + Random(400));
end;