Red de conocimiento informático - Aprendizaje de código fuente - Programación del juego de alternancia de dados c

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;

}