Programación del juego de alternancia de dados c
La función .rand() genera un número entero que va de 0 a 32767. 2. Sólo hay 5 tipos de cubos regulares con todas las caras que tienen la misma forma y tamaño (cuatro, seis, ocho, doce y veinte caras). 3. Algoritmo:
1. Divide el número aleatorio entre 6 (número de cara) y obtiene el resto. El resto es un número entero entre 0 y 5.
2. Suma uno a; el resto para obtener del 1 al 6 un número entero;
⒊Debido a que los dados tienen diferentes números de lados, el número de lados en el primer paso se reemplaza por los lados variables. 4. Programa fuente:
#include lt; stdio.hgt;
#include lt; stdlib.hgt
#include time.hgt; int main(void)
{
int rollem(int);
int roll_n_dice(int, int); int dados, tirada, lados /* Número de dados, puntos totales, número de caras de un dado*/ srand((unsigned int)time(0));
printf("Ingrese el número de caras de los dados (ingrese 0 para salir ):") ;
while(scanf("d",amp;sides)==1amp;amp;sidesgt;0)
{
printf ("Ingrese el número de dados de: ");
scanf("d", amp; dados
roll=roll_n_dice(dados, lados
printf( "Usa d dados de d caras para tirar el punto d.", dados, lados, tirar);
printf("\nIngresa el número de caras del dado (ingresa 0 para salir): ");
}
devuelve 0;
} int rollem(int lados)
{
int roll; roll=rand( )lados 1;
return roll;
} int roll_n_dice(int dados, int lados)
{
int d;
int total=0; if(sideslt; 2)
{
printf("¡¡¡Al menos dos lados!!!\ n");
return -2;
}
if(dicelt; 1)
{
printf("¡Al menos un dado! ! \n");
return -1;
}
for(d=0;dlt;dado ;d) total =rollem( lados);
devolver total;
}