Buenas A todos tengo una petición necesito ayuda con un juego(Lotería o Bingo) se supone que debo crear un juego de lotería donde el código genere 2 cartones de 3x3 llenado con números al azar
y después de eso preguntar los nombres de los jugadores ya teniendo estos datos se deberán correr números simulando lanzamientos de fichas de manera aleatoria y si alguna de los cartones contiene el valor deberá marcarla con un símbolo y al final el que la llene primero gana, se deberá indicar el nombre del Ganador e indicar si desea jugar de nuevo o salir
Tengo esta parte pero aquí es donde se me complica aun soy un novato en esto:
#include <iostream>
#include <math.h>
#include <time.h>
using namespace std;
struct carton {
string letras[7];
int numeros[3][3];
};
int main() {
char nombre1[20],nombre2[20];
// define los cartones de la Loteria
carton loteria[2];
// define la incializacion del random
srand(time(0));
// define las variables a utilizar y su inicializacion
int numeroRandom, inicio, fin;
int rango;
// prepara los cartones de la Loteria
for (int i = 0; i<2; i++) {
loteria.letras[0] = "L";
loteria.letras[1] = "O";
loteria.letras[2] = "T";
loteria.letras[3] = "E";
loteria.letras[4] = "R";
loteria.letras[5] = "I";
loteria.letras[6] = "A";
}
// llena los cartones de la Loteria
for (int i = 0; i<2; i++) {
// llena la columna B ([0] de la Loteria
inicio = 1, fin = 15;
rango = (fin - inicio) + 1;
for (int j = 0; j<3; j++) {
numeroRandom = inicio +
int(rango * rand() / (RAND_MAX + 1.0));
loteria.numeros[0][j] = numeroRandom;
}
// llena la columna I ([1] de la Loteria
inicio = 16, fin = 30;
rango = (fin - inicio) + 1;
for (int j = 0; j<3; j++) {
numeroRandom = inicio +
int(rango * rand() / (RAND_MAX + 1.0));
loteria.numeros[1][j] = numeroRandom;
}
// llena la columna N ([2] de la Loteria)
inicio = 31, fin = 45;
rango = (fin - inicio) + 1;
for (int j = 0; j<3; j++) {
numeroRandom = inicio +
int(rango * rand() / (RAND_MAX + 1.0));
loteria.numeros[2][j] = numeroRandom;
}
}
// imprime los cartones de la Loteria
for (int i = 0; i<2; i++) {
loteria.letras[0] ;
loteria.letras[1] ;
loteria.letras[2] ;
loteria.letras[3] ;
loteria.letras[4] ;
loteria.letras[5] ;
loteria.letras[6] ;
cout << endl;
for (int k = 0; k<3; k++) {
cout << loteria.numeros[0][k] << "\t";
cout << loteria.numeros[1][k] << "\t";
cout << loteria.numeros[2][k] << "\t"<<endl;
}
cout << endl;
}
cout << "Introduce el Nombre del primer Jugador\n";
cin >> nombre1;
cout << "Introduce el Nombre del segundo Jugador\n";
cin >> nombre2;
cout << endl << endl;
system("pause");
}
Si me pueden ayudar se los agradeceria
y después de eso preguntar los nombres de los jugadores ya teniendo estos datos se deberán correr números simulando lanzamientos de fichas de manera aleatoria y si alguna de los cartones contiene el valor deberá marcarla con un símbolo y al final el que la llene primero gana, se deberá indicar el nombre del Ganador e indicar si desea jugar de nuevo o salir
Tengo esta parte pero aquí es donde se me complica aun soy un novato en esto:
#include <iostream>
#include <math.h>
#include <time.h>
using namespace std;
struct carton {
string letras[7];
int numeros[3][3];
};
int main() {
char nombre1[20],nombre2[20];
// define los cartones de la Loteria
carton loteria[2];
// define la incializacion del random
srand(time(0));
// define las variables a utilizar y su inicializacion
int numeroRandom, inicio, fin;
int rango;
// prepara los cartones de la Loteria
for (int i = 0; i<2; i++) {
loteria.letras[0] = "L";
loteria.letras[1] = "O";
loteria.letras[2] = "T";
loteria.letras[3] = "E";
loteria.letras[4] = "R";
loteria.letras[5] = "I";
loteria.letras[6] = "A";
}
// llena los cartones de la Loteria
for (int i = 0; i<2; i++) {
// llena la columna B ([0] de la Loteria
inicio = 1, fin = 15;
rango = (fin - inicio) + 1;
for (int j = 0; j<3; j++) {
numeroRandom = inicio +
int(rango * rand() / (RAND_MAX + 1.0));
loteria.numeros[0][j] = numeroRandom;
}
// llena la columna I ([1] de la Loteria
inicio = 16, fin = 30;
rango = (fin - inicio) + 1;
for (int j = 0; j<3; j++) {
numeroRandom = inicio +
int(rango * rand() / (RAND_MAX + 1.0));
loteria.numeros[1][j] = numeroRandom;
}
// llena la columna N ([2] de la Loteria)
inicio = 31, fin = 45;
rango = (fin - inicio) + 1;
for (int j = 0; j<3; j++) {
numeroRandom = inicio +
int(rango * rand() / (RAND_MAX + 1.0));
loteria.numeros[2][j] = numeroRandom;
}
}
// imprime los cartones de la Loteria
for (int i = 0; i<2; i++) {
loteria.letras[0] ;
loteria.letras[1] ;
loteria.letras[2] ;
loteria.letras[3] ;
loteria.letras[4] ;
loteria.letras[5] ;
loteria.letras[6] ;
cout << endl;
for (int k = 0; k<3; k++) {
cout << loteria.numeros[0][k] << "\t";
cout << loteria.numeros[1][k] << "\t";
cout << loteria.numeros[2][k] << "\t"<<endl;
}
cout << endl;
}
cout << "Introduce el Nombre del primer Jugador\n";
cin >> nombre1;
cout << "Introduce el Nombre del segundo Jugador\n";
cin >> nombre2;
cout << endl << endl;
system("pause");
}
Si me pueden ayudar se los agradeceria