C/Visual C - Ayuda con Ruleta en C

 
Vista:

Ayuda con Ruleta en C

Publicado por Sarahi Gonzalez (1 intervención) el 08/04/2019 21:49:31
Hola y buen dia, miren tengo que hacer una ruleta unicamente en C con las bibliotecas stdlib.h,stdio.h,time.h,string.h soy de primer semestre y pues ando muy perdida ya, si hice mi analisis en papel y mi pseudocodigo, pero mi logica ha llegado hasta aqui (y obvimente) no esta bien.

La ruleta se supone debe ser muy sencilla,
-En un arreglo bidimencional de [38][2] que representan los numeros y colores en el tablero de la ruleta.
-Se debe INGRESAR el numero junto y el color que se va apostar
-Se debe checar que la apuesta ingresada es correcta, es decir el numero y color ingresados es igual al del orden del arreglo, Ejemplo si 1 es negro y se ingresa 1 rojo o 1 verde, el programa arroja un mensaje de error y vuelve a pedir se ingrese apuesta.
-si el orden es correcto, se gira la ruleTA, QUE ES UNA FUNCION QUE CREA UN NUMERO ALEATORIO y un color.
-se imprime el numero ganador
-se compara si la apuesta es igual al numero ganador
-se imprime si el la apuesta fue ganadora o perdedora.
-se vuelve a empezar.

Bueno en teoria basicamente esa es la idea. Una ruleta. Ayuda por favor.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
// BIBLIOTECAS / // 
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
 
// / MACROS / //
#define P printf
#define S scanf
 
//Funciones
void titulo() // El titulo que se muestra junto a las instrucciones
{
	P("/ / / / / / / / / // / / / / / / / / / / / // / / \n");
	P("/   Bienvenido al proyecto de medio semestre   / \n");
	P("/       R U L E T A   A M E R I C A N A         / \n");
	P("**************************************************\n");
	P("                           \n");
	P("*******   *      *  *      ****** ******* ******* \n");
	P("*     *   *      *  *      *         *    *     * \n");
	P("*******   *      *  *      *         *    *     * \n");
	P("*   *     *      *  *      ****      *    * * * * \n");
	P("*    *    *      *  *      *         *    *     * \n");
	P("*     *    ******   ****** ******    *    *     *   ");
	P("                           \n");
	P("**************************************************\n");
	P("/ / / / / / / / / / / / / / / / / / / / / / / / / \n");
	P("/ / / / / / I N S  T R U C I O N E S / / /  / / / \n");
	P("/\n");
	P("        Vamos a probar suerte tu suerte! \n");
	P("/\n");
	P("  -EN ESTA RULETA PUEDES APOSTAR POR UN NUMERO\n");
	P("  Y EL COLOR DE ESE NUMERO \n");
	P("  -SELECIONA CON CUIDADO TU APUESTA YA QUE SI \n");
	P("  COMBINAS UN NUMERO CON UN UN COLOR DIFERENTE\n");
	P("  MARCARA ERROR.\n");
	P("  -PRIMERO INGRESA EL NUMERO AL QUE DESEAS APOSTAR\n");
	P("  ACTO SEGUIDO UN COLOR (SEPARADOS POR COMA) \n");
	P("**************************************************\n");
	P("/ / / / / / / / / / / / / / / / / / / / / / / / / \n");
	P(" Te sientes con suerte? \n");
	P(" Esta es la Tabla de ruleta \n");
	P(" \n");
	P(" Recuerda que V= VERDE  N=NEGRO Y R=ROJO\n");
	P("[00-V][3-N][6-R][9-N][12-R][15-N][18-R][21-N][24-R][27-N][30-R][33-N][36-R]\n");
	P("      [2-R][5-N][8-R][11-N][14-R][17-N][20-R][23-N][26-R][29-N][32-R][35-N]\n");
	P("[0 -V][1-N][4-R][7-N][10-R][13-N][16-R][19-N][22-R][25-N][28-R][31-N][34-R]\n");
	P(" \n");
} //titulo
 
int APUESTA(Apuesta) //FUNCION APUESTA
{
	P(" Ingresa el numero al que apuestas: ");
S("%i", &i);
	for(int i=0;i<38;i++)
		{
			 for(int j=0;j<2;j++)
				{
					 if (RULETA[i][j]==RULETA[38][2])
					 P("muy bien");
				}
        }
 
	/*



		{   //si la condicion anterior es verdadera imprime "Tu numero no es valido
			P("El numero que ingresaste no es correcto, prueba otra vez\n");
			S("%i", &numero);
		}
		else if (numero < 39 || numero > 0)
		{
			P(" Ingresa el color al que apuestas: \n");
			P(" 1=NEGRO  2=ROJO  3=VERDE ");
			S("%i", &color);
			if (color != 1, 2, 3)
			{
				P("Upss! ese no es un color valido \n");
				P("Intenta nuevamente Usando [3]=Verde [2]=rojo o [1]=Negro \n");
				S("%i", &color);

				if (???????) {
				P("A girar la ruleta!");
				girar(numganador);
			}
			}
		}


		} while (&numero,&color == RULETA[38][2]); */
 
 
		return APUESTA;
	} //apuesta //funcion para apostar
 
int girar() //FUNCION PARA GIRAR ruleta
{
    int numganador; //aleatorio
    int hora = time(NULL); //
    srand(hora); //de esta forma siempre cambiara numero aleatorio
    numganador=rand()%38
    P("\n \n")
    return numganador;
}
 //Main
 int main()
	{
	int Apuesta;
	int numero;
	int color;
	int RULETA[38][2] = { //3=verde 1=negro 2=rojo//
						 {00,3},
						 {0,3},
						 {1,1},
						 {2,2},
						 {3,1},
						 {4,2},
						 {5,1},
						 {6,2},
						 {7,1},
						 {8,2},
						 {9,1},
						 {10,2},
						 {11,1},
						 {12,2},
						 {13,1},
						 {14,2},
						 {15,1},
						 {16,2},
						 {17,1},
						 {18,2},
						 {19,1},
						 {20,2},
						 {21,1},
						 {22,2},
						 {23,1},
						 {24,2},
						 {25,1},
						 {26,2},
						 {27,1},
						 {28,2},
						 {29,1},
						 {30,2},
						 {31,1},
						 {32,2},
						 {33,1},
						 {34,2},
						 {35,1},
						 {36,2} };
		int i,j;
 
 
 
	    //llamar funciones//
		titulo();
		Apuesta = APUESTA(Apuesta);
 
 
 
	////////////idea para imprimir ganador o perdedor /////////////	
    P("El la bola cayo en  %i,%c, numganador, color");
    if (&apuesta == numganador)
	P("**************************************************\n");
	P("*    F E L I C I D A D E S  H A Z  G A N A D O   *\n");
	P("**************************************************\n");
	P("*\n");
	P("Deseas volver a jugar? SI=1 NO= 2\n");
	S("%d, &s_n \n")
	jugar++
 
    else if (numganador != &apuesta)
	P("**************************************************\n");
	P("*      L A S T I M A   H A Z   P E R D I D O     *\n");
	P("**************************************************\n");
	P("*\n");
	P("Deseas volver a jugar? SI=1 NO= 2\n");
	S("%d, &s_n \n")
 
 
	}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 89
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ayuda con Ruleta en C

Publicado por Bruno (38 intervenciones) el 09/04/2019 14:53:50
No veo la necesidad de elegir un nro. y un color. Simplemente cada número ya tiene asignado un color. Por ejemplo el casillero nro 1 de la ruleta es rojo, el nro. 2 es de color negro... Si el jugador elige el nro. 1 es claramente de color rojo. Eso lo indicaste bien en la matriz RULETA.
Aquí yo cambiaría por ejemplo el orden de la matriz para poder usar la función girar() de mejor manera. Vos asignaste los dos primeros lugares de la matriz al cero y al doble cero. Yo re-ubicaría el doble cero a la ultima posición de la matriz, para poder utilizar la función girar() de forma directa. Así si girar() arroja 0 o 37 (casillero verde) gana la casa. El resto hay que validar con la apuesta para determinar si ganó el jugador o no.
El algoritmo del juego podría ser:
- apostar: el usuario ingresa un nro del 1 al 36 (el 0 y 00 son reservados para la casa). Validarlo
- girar: aquí se elige un nro al azar (del 0 al 37 de la matriz) que sería la simulación de que la bola cae en un casillero
- verificar: si ganó la casa o el jugador

Espero que haya contribuido a aportar algo.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar