Para hacer un juego pequeño en C++, lo mejor es tener el código fuente, gracias
#include
#include
#include
#include #include #include #include #define random(x)(rand()%x) usando el espacio de nombres std; void thunder(int Dif,int Row,int Column,char *USer) p> { int r,c,alls[22][22],backstage[22][22]={0}; srand((int) time(0)); for(r=1;r<=Row;r++) // Genera todos (0~1) 1 es trueno { for(c=1;c<=Columna;c++) { if(random(6)<1) {alls[r][c]=1 ;} else{alls[r][c]=0;}; } }; for(r=0;r<=Fila +1;r++) //Generar backstage (respuesta correcta) { for(int c=0;c<=Column+1;c++) { if(alls[r][c]==1) { (int)backstage[r][c]='* '; //Cambie 1 a * para representar el trueno } else { for(int i=r-1 ;i<=r+1;i++) //Cambia 0 por un número (que representa el número de minas circundantes) for(int j=c-1;j<=c+1;j++) p> { if(alls[i][j]!=alls[r][c]&&alls[i][j]==1){backstage[r][ c] ++;}; } }; //else final }; // para final }; // para finalizar cout<<"======================************= ===== =========================="< superficie carbonizada[22][22 ]; //Generar superficie(interfaz de usuario) for(r=0;r<22;r++) //Todos ceros for(c=0;c<22; c++) p> { superficie[r][c]='0'; } for(r=1;r<=Fila;r++) // # intermedio para formar un formulario rodeado por 0 (deja de repetir el ciclo cuando el número de números #-->(*||número) gane) for(c=1;c<=Column;c++ ) { superficie[r][c]='#'; } for(r=1;r <= Row;r++) // Genera la interfaz de superficie para una fácil inspección { for(c=1;c<=Column;c++) {cout<<" "< cout< }; cout<<"Ingrese según el formato"<< endl <<"Los dos primeros números son coordenadas, el último número "1" significa que esta ubicación es mía y "0" significa que no lo es."< <<"Por ejemplo: 1 3 1 significa que una fila y tres columnas son mías; 2 4 0 significa que dos filas y cuatro columnas no son mías"< <<"Consejo: Cuando todas las Las minas alrededor del número han sido eliminadas, puede presionar nuevamente. Solicitando esta ubicación, se pueden obtener los números circundantes. "< long i=10000000L; //Comienza a calcular el tiempo clock_t start,finish; doble duración; start=clock(); while(i--); //Comienza a calcular el tiempo int num=Fila*Columna; //Calcula el número de # números p > while(num!=0) //Controla si se ha hecho clic en todas las posiciones { int x,y,judge; cin> >x>>y>>juez; if(alls[x][y]!=juez) { cout<<" pierdes!!!"< cout<<"La respuesta es:"< for(r=1;r<=Row;r++) // Si pierdes, la salida detrás del escenario muestra la respuesta correcta { for(int c=1;c<=Column;c++) { cout<<" "<<(char)(backstage[r][c]==42?backstage[r][c]:backstage[r][c]+'0'); //Salida detrás del escenario p> } cout< } break; } else { if(alls[x][y]==1) {if(surface[x][y]=='#' ){num--; }surface[x][y]='@'; } // Lei juzgó que "@" se muestra correctamente el número es "#" else { if(backstage[x][y]!=0) // El juicio numérico muestra el número correctamente { if(surface [x][y]=='#' ){num--; superficie[x][y]=backstage[x][y]+'0' } // Cuenta "#" else { int lei_num=0; for(int i=x-1;i<=x+1;i++) //Contar el número de lei alrededor del número for(int j=y-1;j<=y+1;j++) { if(surface[i][j]=='@') lei_num++; } if(backstage [x][y]==lei_num) // Ver si todas las minas alrededor del número se eliminan y las indicaciones se muestran alrededor del número { for(int i =x-1;i< =x+1;i++) for(int j=y-1;j<=y+1;j++) if(superficie[ i][j]== '#') //Cuenta "#" { superficie[i][j]=backstage[i][j]+'0 '; número--; } } } } else // El número es Mostrar ceros alrededor de cero cuando cero { if(surface[x][y]=='#'){num--;} ; //Número "#" superficie[x][y]=backstage[x][y]+'0'; for(int i=x-1; i<=x+1; i++) // Muestra números alrededor de cero for(int j=y-1;j<=y+1;j++) if(surface [i][j] =='#') // Evitar bucle infinito { superficie[i][j]=backstage[i][j]+'0 '; num--; //Número "#" } for(int k=0;k<20;k++) //Arriba hasta 20 capas de ceros (haga clic en El cero más externo) { for (int R=1;R<=Row;R++) //Compruebe todos los ceros for(int C=1;C<=Column;C++) //Mostrar números alrededor del cero nuevamente { if(surface[R][C]== '0') { f o (int i=R-1;i<=R+1;i++) for(int j=C-1;j<=C+1;j++) { if(surface[i][j]=='#') // Evitar el bucle infinito número "#" { surface[i ][j]=backstage[i][j]+'0'; num--; } } } } //Coincidir con el interior } //Coincidir con el exterior }//Coincidir con otros }// Coincidir con else }//Combinar con els cout< cout<<"============== =========**********================================ = "< for(r=1;r<=Row;r++) //Interfaz de salida (modificada) { for( c=1;c<=Columna;c++) {cout<<" "< cout< }; } //Coincidir mientras fin=clock(); //Fin del tiempo de cálculo duración=(double)(finish-start)/CLOCKS_PER_SEC ; //Variable de tiempo if(num==0) //Todos { cout<<" ¡¡Tú ganas! ¡¡Enhorabuena!! "<< endl ; cout<<" Tu tiempo es: "< if(Dif==1) //Lee el archivo de almacenamiento del buscaminas simple { string Name; string name[6]; double Time, sonó; veces doble[6]; int i=0; ifstream inf("Buscaminas Simple.txt"); for(i=0;i<5;i++) //Importar la información del archivo a la matriz { inf>>Name;inf>>rang >>Hora ; nombre[i]=Nombre; veces[i]=Hora; } inf.cerrar (); name[5]=USer; //Información del jugador para esta ronda times[5]=duration; double t1=0; string t2; for(int j=0;j<5;j++) //Método de clasificación de burbujas { for(i =0;i<5-j;i++) { if(veces[i]>veces[i+1]) { t1=veces[i]; veces[i]=veces[i+1]; veces[i+1]=t1; t2=nombre[i]; nombre[i]=nombre[i+1]; nombre[i+1]=t2; } } } ofstream outf("Buscaminas Simple.txt"); para (i=0 ;i<5;i++) //Almacena la información de los cinco mejores jugadores en el archivo { cout< outf< "< } outf.close(); } if(Dif ==2) //Leer el archivo de almacenamiento del buscaminas general { string Name; string name[6]; tiempo doble, sonó; tiempos dobles[6]; int i=0; ifstream inf("Buscaminas General.txt"); for(i=0;i<5;i++) //Importa la información del archivo a la matriz { inf>>Name; inf>> sonó>>Hora; nombre[i]=Nombre; veces[i]=Hora; } inf. close(); name[5]=USer; //Información del jugador para esta ronda times[5]=duration; double t1=0; string t2; for(int j=0;j<5;j++) //Método de clasificación de burbujas { for(i=0;i<5-j;i++) { if(veces[i]>veces[i+1]) { t1=veces[i]; veces[i]=veces[i+1]; veces[i+1 ]=t1 ; t2=nombre[i]; nombre[i]=nombre[i+1]; nombre[i+1] =t2; } } } ofstream outf("buscaminas general.txt"); for (i=0;i<5;i++) //Almacena la información de los cinco mejores jugadores en un archivo y envíalo { cout< ]<<" "< outf< } outf.close(); } if(Dif ==3) //Leer el archivo de almacenamiento del buscaminas difícil { string Name; string name[6]; double Time,rang; double times[6]; int i=0; ifstream inf("Dificultad de remoción de minas.txt"); for(i=0;i<5;i++) //Importa la información del archivo a la matriz { inf>>Name; inf>> sonó>>Hora; nombre[i]=Nombre; veces[i]=Hora; } inf. close(); name[5]=USer; //Información del jugador para esta ronda times[5]=duration; double t1=0; string t2; for(int j=0;j<5;j++) //Método de clasificación de burbujas { for(i=0;i<5-j;i++) { if(veces[i]>veces[i+1]) { t1=veces[i]; veces[i]=veces[i+1]; veces[i+1 ]=t1 ; t2=nombre[i]; nombre[i]=nombre[i+1]; nombre[i+1] =t2; } } } ofstream outf("Dificultad de remoción de minas.txt"); para (i=0;i<5 ;i++) //Almacena la información de los cinco mejores jugadores en el archivo { cout< outf< } outf.close(); } } } escala de vacío (int dif,char *Usuario) //Selecciona dificultad { int fila,columna; if(dif==1) {fila= 3 ;columna=3;} if(dif==2) {fila=7;columna=7;} if(dif==3) {fila=10; =10;} cout<<"La escala es: "< trueno(dif,fila,columna, Usuario); }; int main() { int Continuar=1; int dificultad; char usuario[10]; cout<<" ¡Bienvenido al juego! "< <<" Por favor ingresa el usuario Nombre "< cin>>usuario; while(Continue==1) { cout< <"=========================************************ ====== ================="< <<" ¡Selecciona la dificultad! "< <<" Simple - 1 "< <<" Promedio - 2 "< <<" Dificultad - 3 "< cin>>dificultad; escala(dificultad,usuario); cout<<"Continuar el juego——1 Finalizar el juego——0"< cin>>Continuar; } devolver 0; } Juego Buscaminas, código escrito por mí mismo