Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   random (https://www.clubdelphi.com/foros/showthread.php?t=26447)

edulp 24-10-2005 01:34:50

random
 
hola a todos y desde ya muchas gracias,
soy nuevo con el tema del foro y espero serles util igual que ustedes a mi.
vamos al grano.
tengo que hacer el juego de mesa teg y me surgio el problema de repartir los 50 paises entre 5 jugadores (la cantidad de paises y jugadores son fijos ).
Tengo mi tabla de 5 jugadores y la de los 50 paises tanto los jugadores como los paises tienen como identificador un numero, si hago un randon de 50, 50 veces, esto no implicaria que me salieron los 50 identificadores de paises. como soluciono el problema de que el random me puede llegar a repetir un numero.

roman 24-10-2005 02:17:39

Podrías usar un conjunto para almacenar los índices de países ya obtenidos:

Código Delphi [-]
var
  Repartidos: set of Byte;

Cada vez que necesites un nuevo número aleatorio haces un ciclo hasta encontrar uno que no hayas ya usado:


Código Delphi [-]
repeat
  Indice := Random(50) + 1;
until not (Indice in Repartidos);

Repartidos := Repartidos + [Indice];

// Saludos


La franja horaria es GMT +2. Ahora son las 02:52:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi