generar numeros aleatorios
Publicado por palvji (12 intervenciones) el 15/08/2007 20:02:33
Buenas.
Mi pregunta es la siguiente:
Estoy haciendo un juego de cartas en pascal, y almaceno las cartas en una matriz Nx4, donde N es el numero de jugadores, de tal forma que cada fila tiene 4 cartas, y cada fila representa las cartas de un mismo jugador.
Tengo un procedimiento para barajar las cartas, y por barajar entendemos girar las cartas de cada columna un número ALEATORIO de veces.
Pues bien, me hice una funcion NumeroAleatorio:
FUNCTION Entero_Aleatorio:INTEGER;
BEGIN
Entero_Aleatorio:= 1+trunc (10*Random);
END;
Esta función crea un número aleatorio entre 1 y 10, pero no sé porqué cada vez que barajo las cartas, gira la primera y la segunda columna de la matriz el mismo número de veces.
La 3º y la 4º columna las gira un número aleatorio realmente, pero no se porqué las dos primeras siempre el mismo numero. Igual he hecho algo mal. Mi procedimiento barajar es:
FOR i:=1 TO Entero_Aleatorio DO
{Aqui giro una vez las cartas de una columna}
Y hago eso con las cuatro columnas. Si a alguien se le ocurre a qué puede deberse, que me indique algo, por favor.
Gracias
Mi pregunta es la siguiente:
Estoy haciendo un juego de cartas en pascal, y almaceno las cartas en una matriz Nx4, donde N es el numero de jugadores, de tal forma que cada fila tiene 4 cartas, y cada fila representa las cartas de un mismo jugador.
Tengo un procedimiento para barajar las cartas, y por barajar entendemos girar las cartas de cada columna un número ALEATORIO de veces.
Pues bien, me hice una funcion NumeroAleatorio:
FUNCTION Entero_Aleatorio:INTEGER;
BEGIN
Entero_Aleatorio:= 1+trunc (10*Random);
END;
Esta función crea un número aleatorio entre 1 y 10, pero no sé porqué cada vez que barajo las cartas, gira la primera y la segunda columna de la matriz el mismo número de veces.
La 3º y la 4º columna las gira un número aleatorio realmente, pero no se porqué las dos primeras siempre el mismo numero. Igual he hecho algo mal. Mi procedimiento barajar es:
FOR i:=1 TO Entero_Aleatorio DO
{Aqui giro una vez las cartas de una columna}
Y hago eso con las cuatro columnas. Si a alguien se le ocurre a qué puede deberse, que me indique algo, por favor.
Gracias
Valora esta pregunta


0