Código fuente de mínimos cuadrados
# incluir ltfstream gt
# incluir ltctime gt
# incluir ltcmath gt
# incluir ltstdlib.h gt
# incluir ltstdio.h gt//hora//archivo
# incluir lt string gt
#define random(x)(rand()x )
Usar espacio de nombres std
void thunder(int Dif, int Row, int Column, char *USer)
{
int r , c, todos[22][22], detrás del escenario[22][22]= { 0 };
srand((int)time(0));
para (r = 1; r lt=row; R) // Generar todo (0 ~ 1) 1 es un trueno.
{
for(c = 1; c lt=columna; c )
{
if(random(6) lt ;1){ todo[r][c]= 1;} más { todo[r][c]= 0;};
}
};
for(r = 0; r lt= Fila 1; R) //Generación de fondo (respuesta correcta)
{
for(int c = 0; c lt= Columna 1; c )
{
if(alls[r][c]==1)
{
(int )back stage[r][c]= ' * '; //Trueno cambia 1 a *.
}
Otro
{
for(int I = r-1; I lt= r 1; I) // Convierte 0 en un número (que representa el número de truenos que te rodean)
for(int j = c-1; j lt= c 1; j)
{
if(all[I][j]!= all s[r][c] amp; ampall[I][j]= = 1){ backstage[r][c];};
}
}; // De lo contrario, el final
}; El final de //
}; >
cout lt lt" = = = = = = = = = = = = = = = = = = = = = = * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = " lt; ltendl
Superficie carbonizada[22][22];//Generar superficie (interfaz de usuario)
for( r = 0; r lt22; R ) //Todos ceros
for(c = 0; c lt22; c )
{
superficie[r] [c]= ' 0 ';
}
for(r = 1; r lt=line; R) //El # del medio forma 0 corchetes # (hasta el número # --> formulario; detener el bucle cuando (* || número) gane)
for (c = 1; c lt = columna; c )
{
surface[r][c]= ' # ';
}
for(r = 1; r lt=line; R ) // Genera la interfaz de superficie para facilitar la inspección .
{
for(c = 1; c lt=columna; c){ cout lt; lt" " " lt superficie[r][c];};
cout lt ltendl
};
cout lt lt"Ingrese según el formato"
lt lt"Los dos primeros números son coordenadas , y el último número A '1' indica que la ubicación es un Trueno, y un '0' indica ninguno. " lt ltEndel
lt lt"Por ejemplo: 1 3 1 significa que una fila y tres columnas son un trueno 2 4 0 significa que dos filas y cuatro columnas no son un trueno"
lt lt "Consejos: cuando todas las minas alrededor de los números hayan sido eliminadas, puede ingresar a esta ubicación nuevamente según sea necesario para obtener los números circundantes. ” lt ltendl
Long I = 1000000 l; //Inicio del tiempo de cálculo
clock_t comienza, termina;
Doble duración;
start = clock();
while(I-); //Calcular el inicio del tiempo
int num = Fila * Columna//Calcular el número de # números p >
And (num!=0) //Controla si se hace clic en todas las ubicaciones.
{
int x, y, juez
CIN gt; gtx gt gty gt gtjudge;
if(all[x ] [y]!=Juez)
{
cout lt "¡¡¡Pierdes!!!" lt ltendl
cout lt La respuesta es: " lt ltendl
for(r = 1; r lt=line; R) //El fondo de entrada y salida muestra la respuesta correcta
{
for(int c. . = 1; c lt=columna; c )
{
cout lt lt" " " lt lt(char)(entre bastidores[r][c]==42?entre bastidores [ r][c]:backstage[r][c] ' 0 '); // Salida entre bastidores
}
cout lt ltendl
}< / p>
Romper;
}
Otro
{
if(all[x][y]= = 1 ){ if(surface[x][y]= = ' # '){ num-;} Surface[x][y]= '@';}// Lei juzgó que "@" se muestra correctamente count "; #"
Otros
{
If (fondo[x][y]!=0) //El juicio numérico muestra el número correctamente.
{
if(superficie[x][y]= = ' # '){ num-;superficie[x][y]= detrás del escenario[x][y] ' 0 ';}//Número "#"
Otro
{
int lei _ num = 0;
for( int I = x-1; Ilt= x 1; I) //Cuenta el número de minas.
for(int j = y-1; j lt= y 1; j )
{
if(superficie[i][j]== '@ ')
lei _ num;
}
If(background[x][y]==lei_num) //Mira el trueno alrededor el número Si se escanean todos, se mostrará el número.
{
for(int I = x-1; i lt= x 1; i)
for(int j = y-1; j lt = y 1; j )
if(superficie[I][j]= ' # ')//número " # "
{
superficie[ I][j]= detrás del escenario[I][j] ' 0 ';
num-;
}
}
}
}
Else //Cuando el número es cero, muestra cero cerca de cero.
{
if(superficie[x][y]= = ' # '){ num-;};//Número "#"
superficie [x][y]= back stage[x][y] ' 0 ';
for(int I = x-1; I lt= x 1; I) //Mostrar números cercanos a cero.
for(int j = y-1; j lt= y 1; j )
if(surface[I][j]= ' # ')//Evitar bucle infinito .
{
superficie[I][j]= back stage[I][j] ' 0 '
num- //Número "#; ”
}
for(int k = 0; k lt20; K) //Hasta 20 niveles de cero (señale el cero más externo)
{
for(int R = 1; R lt=row; R) //comprobar todos los ceros
for(int C = 1; C lt=columna; C) // mostrar nuevamente Números alrededor de cero.
{
if(superficie[R][C]=='0 ')
{
for(int I = R-1;i lt= R 1;i)
for(int j = C-1;j lt= C 1;j)
{
if(surface[I][j]= ' # ')//Evitar el número de bucle infinito" # "
{
surface[I][j]= back stage[ I][j] ' 0 ';
num-;
}
}
}
}//Coincidir dentro
}//Coincidir externo para
}//Coincidir con otra persona
}//Coincidir con otra persona
} //Coincide con els
cout lt ltendl
cout lt lt" = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = " lt; ltendl
for(r = 1 ; r lt= fila; R ) //Interfaz de salida (modificada)
{
for(c = 1; c lt=columna; c){ cout lt" " " lt ltsurface[ r][c];};
cout lt ltendl
};
}//Coincidir simultáneamente
finish = clock( ); //Tiempo de fin del cálculo
duración =(double)(finish-start)/CLOCKS _ PER _ SEC //Variable de tiempo
If(num ==0) // todos
{
cout lt lt"¡Tú ganas! ¡Felicidades! ! " lt ltendl
cout lt lt"Tu tiempo es: " lt ltduration lt ltendl
If(Dif==1) //Lee el archivo de almacenamiento del buscaminas simple.
p>{
Nombre de cadena;
Nombre de cadena[6];
Tiempo doble, timbre;
p>
Doble[6];
int I = 0;
Ifstream inf("Simple Buscaminas.txt ");
for( I = 0 ;Ilt5;I) //La información del archivo se importa a la matriz.
{
inf gt gt nombre; inf gt gtrang gt gt tiempo
Nombre[I]= Nombre
veces[; I]=time;
}
INF . close();
name[5]=user; //Información del concursante para esta ronda
veces[5]=duración;
doble t 1 = 0;
Cadena T2;
for(int j = 0; j lt5 ;J) //Método de clasificación de burbujas
{
for(I = 0;i lt5-j;i)
{
si(veces[I] gt; veces[i 1])
{
t 1 = veces[I];
veces[I ]= veces[I 1];
veces[I 1]= t 1;
T2 = nombre[I];
nombre[I]= nombre[ Yo 1];
nombre[I 1]= T2;
}
}
}
Ofstream outf("Simple Minesweeper. txt ");
for(I = 0; I lt5; I ) // Almacena la información de los cinco mejores jugadores en un archivo.
{
cout lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt ltveces[I] lt; >outf lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt lttimes[I] lt; ltendl
}
outf . ;
}
If(Dif==2) //Lee el archivo de almacenamiento del buscaminas general.
{
Nombre de cadena;
Nombre de cadena[6];
Tiempo doble, timbre;
Double[6];
int I = 0;
Ifstream inf("Desminado general.txt ");
for(I = 0;Ilt5; I) //La información del archivo se importa a la matriz.
{
inf gt gt nombre; inf gt gtrang gt gt tiempo
Nombre[I]= Nombre
veces[; I]=time;
}
INF . close();
name[5]=user; //Información del concursante para esta ronda
veces[5]=duración;
doble t 1 = 0;
Cadena T2;
for(int j = 0; j lt5 ;J) //Método de clasificación de burbujas
{
for(I = 0;i lt5-j;i)
{
si(veces[I] gt; veces[i 1])
{
t 1 = veces[I];
veces[I ]= veces[I 1];
veces[I 1]= t 1;
T2 = nombre[I];
nombre[I]= nombre[ Yo 1];
nombre[I 1]= T2;
}
}
}
Ofstream outf("Remoción general de minas. txt ");
for(I = 0; I lt5; I) //Almacena la información de los cinco mejores jugadores en un archivo y envíalo.
{
cout lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt ltveces[I] lt; >outf lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt lttimes[I] lt; ltendl
}
outf . ;
}
If(Dif==3) //Leer archivos de almacenamiento que son difíciles de extraer.
{
Nombre de cadena;
Nombre de cadena[6];
Tiempo doble, timbre;
Double[6];
int I = 0;
Ifstream inf("Dificultad del Buscaminas.txt ");
for(I = 0;Ilt5; I) //La información del archivo se importa a la matriz.
{
inf gt gt nombre; inf gt gtrang gt gt tiempo
Nombre[I]= Nombre
veces[; I]=time;
}
INF . close();
name[5]=user; //Información del concursante para esta ronda
veces[5]=duración;
doble t 1 = 0;
Cadena T2;
for(int j = 0; j lt5 ;J) //Método de clasificación de burbujas
{
for(I = 0;i lt5-j;i)
{
si(veces[I] gt; veces[i 1])
{
t 1 = veces[I];
veces[I ]= veces[I 1];
veces[I 1]= t 1;
T2 = nombre[I];
nombre[I]= nombre[ Yo 1];
nombre[I 1]= T2;
}
}
}
Ofstream outf("Mine Sweeper Difficulty. txt ");
for(I = 0; I lt5; I) // Almacena la información de los cinco mejores jugadores en un archivo.
{
cout lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt ltveces[I] lt; >outf lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt lttimes[I] lt; ltendl
}
outf . ;
}
}
}
Void scale(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; columna = 10;}
cout lt lt "La escala es: " lt ltrow lt lt" * " lt lt columna lt ltendl
Trueno (dif, fila, columna, usuario);
};
int main()
{
int Continuar = 1;
int dificultad;
char usuario[10];
cout lt lt"¡Bienvenido al juego!" lt ltEndl
lt lt"¡Ingresa tu nombre de usuario!"
mientras(Continuar==1)
{
cout lt lt" = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = "lt;ltendel
lt lt"¡Por favor seleccione la dificultad!" lt ltEndel
lt lt"Fácil-1"
lt lt"Regular-2"
lt lt"dificultad -3"
CIN gt; gtdificultad;
escala(dificultad, usuario);
cout lt lt"continuar juego -1 finalizar juego -0" < lt; endl
CIN gt; gt continuar;
}
return 0;
}
Buscaminas Juego, código propio.