Jugando a la Ruleta

Héctor Orera Hernández

/* Este programa permite jugar a una sencilla versión de la ruleta.
Se puede elegir entre cuatro tipos de apuesta, se genera un número al azar
entre 0 y 36 y se comprueba si has ganado en función de tu apuesta */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define DIM 20

char presentacion();

void espera(int segundos);

int main ()
{
 char c;
 int n=0,m[DIM],i,premio,k=4;

srand(time(NULL));

c=presentacion ();

switch (c) {
 case 'A' :
 do {
 printf ("1 - Apostar a los pares \t 2 - Apostar a los impares\n");
 scanf ("%d",&n);}while(n!=1 && n!=2);
 break;

case 'B' :
 do {
 printf ("1 - Apostar a la primera columna \t 1-4-7-10-13-16-19-22-25-28-31-34\n");
 printf ("2 - Apostar a la segunda columna \t 2-5-8-11-14-17-20-23-26-29-32-35\n");
 printf ("3 - Apostar a la tercera columna \t 3-6-9-12-15-18-21-24-27-30-33-36\n");
 scanf ("%d",&n);}while(n!=1 && n!=2 && n!=3);
 break;

case 'C' :
 do {
 printf ("Dime a los tres numeros que quieres apostar \n(Comprendidos entre 1 y 36):\n");
 for (i=0;i<3;i++)
 scanf ("%d",&m[i]);
 }
 while((m[0]<=0 || m[0]>36) || (m[1]<=0 || m[1]>36) || (m[2]<=0 || m[2]>36));
 break;

case 'D' :
 do {
 printf ("Dime el numero al que quieres apostar \n(Comprendido entre 1 y 36):\n");

scanf ("%d",&n);
 }
 while(n<=0 || n>36); break;
 }

system("cls");

printf ("\nUna vez hecha la apuesta, toca ver que numero sale en la ruleta :\n\n");

for(i=1;i<=100;i++) rand();  //descartamos los 100 primeros números aleatorios
premio = rand() % 37;      //almacenamos el número premiado 

espera (k);  //simulación de la bola moviéndose en la ruleta

system("cls");

printf ("\nUna vez hecha la apuesta, toca ver que numero sale en la ruleta :\n\n");

printf ("\t%d\n\n",premio);

if (premio==0) {
 printf ("Gana la banca!");
 system ("pause");
 return 0;}

switch ( c ) {
 case 'A' :
 if ((n==1 && premio%2 == 0) || (n==2 && premio%2 == 1))
 printf ("Has ganado! \n");
 else printf ("Lo siento! Otra vez sera \n");
 break;

case 'B' :
 if ((n==1 && premio%3 == 1) || (n==2 && premio%3 == 2) || (n==3 && premio%2 == 0))
 printf ("Has ganado! \n");
 else printf ("Lo siento! Otra vez sera \n");
 break;

case 'C' :
 if ((m[0]==premio) || (m[1]==premio) || (m[2]==premio))
 printf ("Has ganado! \n");
 else printf ("Lo siento! Otra vez sera \n");
 break;

case 'D' :
 if (n==premio)
 printf ("Has ganado! \n");
 else printf ("Lo siento! Otra vez sera \n");
 break;

}
 system ("pause");
 return 0;
}

char presentacion()

{
 char c;
do {

printf ("Bienvenido a la version casera de la ruleta francesa.\n\n");

printf ("Que tipo de apuesta quieres realizar?\n (Para elegir escribe la mayuscula correspondiente: )\n\n");

printf ("A - Pares o Impares \t B - Columna \t C - Terna \t D - Pleno (un numero)\n");

scanf ("%c",&c);

system("cls"); } while (c!='A' && c!='B' && c!='C' && c!='D');
 return c;
}

void espera(int segundos)
{
 //srand(time(NULL));  
 int Seg1,Seg2;
 Seg1=(int)clock()/CLOCKS_PER_SEC;
 Seg2=Seg1;
 while((Seg2-Seg1) < segundos){
 if(clock()%400<10){
 system("cls");
 printf ("\nUna vez hecha la apuesta, toca ver que numero sale en la ruleta :\n\n\t%d",rand() % 37);
 }
 Seg2=(int)clock()/CLOCKS_PER_SEC;
 }
}
Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Jugando a la Ruleta

  1. very good!.

    COMMENT: Observa los comentarios puestos a la altura de la variable ‘premio’.
    Observa también en la función “espera(k)” que no es necesario reinicializar el generador con otra semilla. En principio, basta con que lo inicialices una vez en cada ejecución de tu programa. En este caso, ya lo habíamos inicializado en el programa principal.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s