Craps
#include <stdio.h> #include <stdlib.h> #include <time.h> /* contiene el prototipo de la función time */ /* constantes de enumeración que representan es estatus del juego */ enum Estatus { CONTINUA, GANA, PIERDE }; int tiraDados( void ); /* prototipo de la función */ /* la función main comienza la ejecución del programa */ int main() { int suma; /* suma del tiro de datos */ int miPunto; /* punto ganado */ enum Estatus estatusJuego; /* puede contener CONTINUA, GANA o PIERDE */ /* randomiza el generador de números aleatorios mediante el uso de la función time */ srand( time( NULL ) ); suma = tiraDados(); /* primer tiro de los dados */ /* determina el estatus del juego basado en la suma de los dados */ switch( suma ) { /* gana en el primer tiro */ case 7: case 11: estatusJuego = GANA; break; /* pierde en el primer tiro */ case 2: case 3: case 12: estatusJuego = PIERDE; break; /* recuerda el punto */ default: estatusJuego = CONTINUA; miPunto = suma; printf( "Su punto es %dn", miPunto ); break; /* opcional */ } /* fin de switch */ /* mientras el juego no se complete */ while ( estatusJuego == CONTINUA ) { suma = tiraDados(); /* tira de nuevo los dados */ /* determina el estatus del juego */ if ( suma == miPunto ) { /* gana por punto */ estatusJuego = GANA; /* fin del juego, gana el jugador */ } /* fin de if */ else { if ( suma == 7 ) { /* pierde al tirar 7 */ estatusJuego = PIERDE; /* termina el juego, pierde el jugador */ } /* fin de if */ } /* fin de else */ } /* fin de while */ /* despliega el mensaje del ganador o perdedor */ if ( estatusJuego == GANA ) { /* ¿Ganó el jugador? */ printf( "Gana el jugadorn" ); } /* fin de if */ else { /* pierde el jugador */ printf( "Pierde el jugadorn" ); } /* fin de else */ return 0; /* indica terminación exitosa */ } /* fin de main */ /* tiro de dados, calcula la suma y despliega los resultados */ int tiraDados( void ) { int dado1; /* primer dado */ int dado2; /* segundo dado */ int sumaTemp; /* suma de los dados */ dado1 = 1 + ( rand() % 6 ); /* toma el aleatorio para el dado1 */ dado2 = 1 + ( rand() % 6 ); /* toma el aleatorio para el dado2 */ sumaTemp = dado1 + dado2; /* suma el dado1 y el dado2 */ /* despliega los resultados de este tiro */ printf( "El jugador tiro %d + %d = %dn", dado1, dado2, sumaTemp ); return sumaTemp; /* devuelve la suma de los dados */ } /* fin de la función tiraDados */
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)