En los juegos del Proyecto AJDA se utilizan muy frecuentemente los números aleatorios. Ya sea al tirar un dado, una moneda, sacar cartas, colocar casillas en un panel, etc. Vamos a analizar como se ha realizado desde el punto de vista del código de DescartesJS.
Cuando simplemente se quiere obtener un número entero aleatorio entre uno y una cifra máxima, se puede invocar la siguiente función:
Número aleatorio = ent(rnd*cifra máxima)+1
Un ejemplo concreto, la función a invocar para obtener una tirada de un dado de seis caras sería la siguiente:
DADO = ent(rnd*6)+1
Otro ejemplo, la función a llamar para sacar una carta de la baraja española podría ser:
CARTA = ent(rnd*40)+1
La cifra máxima puede dejarse como parámetro o variable, de forma que pueda ser introducida a través de controles o determinada a través de un cálculo concreto. Un caso concreto podría ser determinar aleatoriamente el jugador que empieza una partida. Teniendo en cuenta que el número de jugadores es una variable que se introduce mediante un control (por ejemplo, NJ), la función quedaría de la siguiente forma:
EMPIEZA = ent(rnd*NJ)+1
En el caso de que se quieran obtener varios números aleatorios de forma independiente, es suficiente con invocar tantas funciones de este tipo como necesitemos. Por ejemplo, si lanzamos tres dados simultáneamente, las funciones podrían ser:
DADO1 = ent(rnd*6)+1
DADO2 = ent(rnd*6)+1
DADO3 = ent(rnd*6)+1
Otra cuestión sería obtener varios números aleatorios diferentes entre si, la cual la dejaremos para otro artículo.