¿Cómo desarrollar código fuente para proyectos de juegos pequeños?
# incluir & ltfstream & gt
# incluir & ltctime & gt
# incluir & ltcmath & gt
# incluir & ltstdlib.h & gt
# incluir & ltstdio.h & gt//time//file
# incluir & ltstring& gt
#Definir 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)tiempo; (0));
for(r = 1; r & lt=line; R++) //Generar todo(0 ~ 1)1 es un trueno.
{
for(c = 1; c & lt=columna; c++)
{
if(aleatorio(6) <1){ todos[r][c]= 1;} más { todos[r][c]= 0;};
}
};
p>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)
{ p >
(int)back stage[r][c]= ' * '; //Trueno cambia 1 a *.
}
Otro
{
for(int I = r-1;I<= 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++)
{< / p>
if(todos[I][j]!= todos s[r][c]& & ampall[I][j]= = 1){ detrás del escenario[r][c]+ +;} ;
}
};//en caso contrario, finalizar
};//final de
};// Finalizar
cout & lt& lt" = = = = = = = = = = = = = = = = = = = = = * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = " & lt; )
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 el corchete 0 # (a través de la forma del número #-->; deja de repetirse cuando (* || número) gana) p>
for(c = 1; c & lt=columna; c++ )
{
superficie[r][c]= ' # ';
}
for(r = 1; r & lt=line; R++) //Interfaz de superficie de salida para una fácil inspección.
{
for(c = 1; c & lt=columna; c++){ cout & lt; & lt" " " & lt& ltsuperficie[r][c];} ;
cout & lt& ltendl
};
cout & lt& lt"Ingrese el formato"
& lt& lt" antes Los dos números son las coordenadas. El último número '1' significa que esta ubicación es un trueno y '0' significa que no hay ninguno. ”& lt& ltEndel
& lt& lt“Por ejemplo: 1 3 1 significa una fila y tres columnas son truenos 2 4 0 significa dos filas y cuatro columnas no son truenos”
& lt& lt "Consejo: Cuando todas las minas alrededor de los números hayan sido eliminadas, puede ingresar a esta posició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 posiciones
{
int x, y, Judge
CIN & gt;& gtx & gt& gty & gt& gtJudge;
if(all[x][y]!=Judge)
{
cout & lt& lt"¡Tú pierdes! ! !"& lt& ltendl
cout & lt& ltLa respuesta es: "& lt& ltendl
for(r = 1; r & lt=line; R++) //Fondo de entrada y salida Mostrar respuesta correcta.
{
for(int c = 1; c & lt=columna; c++)
{
cout & lt& lt" " " & lt& lt(char)(backstage[r][c]==42?backstage[r][c]:backstage[r][c]+' 0 '); //Salida de backstage
}
cout & lt& ltendl
}
Descanso;
}
Otro
{
if(all[x][y]= = 1){ if(superficie[x][y]= = ' # '){ num-;} superficie[x] [y]= ' @ ';}//Ray juzga que "@" se muestra correctamente; cuenta "#"
Otros
{
If ( background[ x][y]! =0) //El juicio numérico muestra el número correctamente
if(surface[x][y]= = ' # '){ num- ;surface[x] [y]= detrás del escenario[x][y]+' 0 ';}//Número "#"
Otros
{
int lei _ num = 0;
for(int I = x-1; I & lt= x+1; I++) //Cuenta el número de minas
for (int j = y-1; j & lt= y+1; j++)
{
if(superficie[i][j]=='@ ') p>
lei _ num++;
}
If(background[x][y]==lei_num) //Ver si todas las minas alrededor del número han sido barridas Mostrar números.
{
for(int I = x-1;i<= x+1;i++)
for(int j = y -1; j. & lt= y+1; j++)
if(superficie[I][j]= ' # ')//número " # "
{ p>
superficie[I][j]= detrás del escenario[I][j]+' 0 ';
num-;
}
} p>
}
}
Else //Cuando el número es cero, muestra cero cerca de cero
{ p>
if (superficie[x][y]= = ' # '){ num-;};//Número "#"
superficie[x][y]= detrás del escenario[ x][y]+ ' 0 ';
for(int I = x-1;i<= x+1;I++) //Muestra 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]= detrás del escenario[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=column; C++) //Mostrar números alrededor de cero nuevamente.
{
if(superficie[R][C]=='0 ')
{
for(int I = R-1;i<= R+1;i++)
for(int j = C-1;j & lt= C+1;j++)
{ p>
if(surface[I][j]= ' # ')//Evitar el número de bucle infinito " # "
{
surface[I][j] = back etapa[I][j]+' 0 ';
num-;
}
}
} p>
}//Coincidir en
}//Coincidir con externo
}//Coincidir con otra persona
}//Coincidir con otra persona p>
}//Match els
cout & lt& ltendl
cout & lt& lt" = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = "<<endl
for(r = 1; r & lt=line; R++) //Interfaz de salida (modificada)
{
for(c = 1; c & lt =columna;c++){ cout & lt ;& lt" " " & lt& ltsurface[r][c];};
cout & lt& ltendl
};
}//Partido en el mismo tiempo
finish = clock(); //Fin del tiempo de cálculo
duración = (double)(finish-start)/CLOCKS _ PER _ SEC ;
If(num==0) // all
{
cout & lt& lt"¡Tú ganas! ¡Felicidades! ! "& lt& ltendl
cout & lt& lt"Tu tiempo es:" & lt& ltDuration& lt& ltendl
If(Dif==1) // Archivo de almacenamiento de Buscaminas fácil de leer.
{
Nombre de cadena;
Nombre de cadena[6];
Timbre doble;
Doble[6];
int I = 0;
Ifstream inf("Simple Buscaminas.txt ");
for(I = 0;i<5 ;I++) //La información del archivo se importa a la matriz.
{
inf & gt& gtName; inf & gt& gtrang & gt& gtTime;
Nombre[I]= Nombre;
veces [I]=time;
}
INF . close();
name[5]=user; //Información del concursante para esta ronda< / p>
veces[5]=duración;
doble t 1 = 0;
Cadena 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]& gt; veces[i+1])
{
t 1 = veces[I];
veces[I] = veces[I+1];
veces[I+1]= t 1;
T2 = nombre[I];
nombre[I] = nombre[I+1];
nombre[I+1]= T2;
}
} p>
} p>
Ofstream outf("Simple Minesweeper.txt ");
for(I = 0;I<5;I++) //Serán los cinco mejores jugadores La información se almacena en un archivo.
{
cout & lt& ltname[I]& lt;& lt" " " & lt& ltI+1 & lt;& lt" " " & lt& ltveces[I]& lt;& ltendl
outf & lt& ltname[I]& lt;& lt" " " & lt& ltI+1 & lt;& lt" " " & lt& ltveces[I]& lt;& ltendl
}
outf . close();
}
If(Dif==2) //Leer archivos generales del buscaminas .
{
Nombre de cadena;
Nombre de cadena[6];
Tiempo doble, timbre;
Double[6];
int I = 0;
Ifstream inf("Desminado general.txt ");
for(I = 0;i<5; I++) //La información del archivo se importa a la matriz.
{
inf & gt& gtName; inf & gt& gtrang & gt& gtTime;
Nombre[I]= Nombre;
veces [I]=time;
}
INF . close();
name[5]=user; //Información del concursante para esta ronda< / p>
veces[5]=duración;
doble t 1 = 0;
Cadena 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]& gt; veces[i+1])
{
t 1 = veces[I];
veces[I] = veces[I+1];
veces[I+1]= t 1;
T2 = nombre[I];
nombre[I] = nombre[I+1];
nombre[I+1]= T2;
}
} p>
} p>
Ofstream outf("Remoción general de minas. txt ");
for(I = 0;I<5;I++) // ¿Los cinco mejores jugadores? La información se almacena en un archivo y se genera. .
{
cout & lt& ltname[I]& lt;& lt" " " & lt& ltI+1 & lt;& lt" " " & lt& ltveces[I]& lt;& ltendl
outf & lt& ltname[I]& lt;& lt" " " & lt& ltI+1 & lt;& lt" " " & lt& ltveces[I]& lt;& ltendl
}
outf . close();
}
If(Dif==3) //Leer difícil para extraer la tienda archivos.
{
Nombre de cadena;
Nombre de cadena[6];
Tiempo doble, timbre;
Double[6];
int I = 0;
Ifstream inf("Dificultad del Buscaminas.txt ");
for(I = 0;i<5; I++) //La información del archivo se importa a la matriz.
{
inf & gt& gtName; inf & gt& gtrang & gt& gtTime;
Nombre[I]= Nombre;
veces [I]=time;
}
INF . close();
name[5]=user; //Información del concursante para esta ronda< / p>
veces[5]=duración;
doble t 1 = 0;
Cadena 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]& gt; veces[i+1])
{
t 1 = veces[I];
veces[I] = veces[I+1];
veces[I+1]= t 1;
T2 = nombre[I];
nombre[I] = nombre[I+1];
nombre[I+1]= T2;
}
} p>
} p>
Ofstream outf("Mine Sweeper Difficulty. txt ");
for(I = 0;I<5;I++) //Serán los cinco mejores jugadores La información se almacena en un archivo.
{
cout & lt& ltname[I]& lt;& lt" " " & lt& ltI+1 & lt;& lt" " " & lt& ltveces[I]& lt;& ltendl
outf & lt& ltname[I]& lt;& lt" " " & lt& ltI+1 & lt;& lt" " " & lt& ltveces[I]& lt;& ltendl
}
outf .cerrar();
}
}
}
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& ltcolumn& lt& ltendl
Trueno (dif, fila, columna, usuario);
}; /p>
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!"& lt& ltendl
CIN>>user;
mientras(Continuar==1)
{
cout & lt& lt" = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = "< ;<Endel
& lt& lt"¡Seleccione la dificultad! "<<Endel
& lt& lt"Fácil-1"
& lt& lt"Normal-2"
& lt& lt"Difícil-3"
CIN>& gtDificultad;
Escala(dificultad, usuario);
cout<<" Continuar juego -1 Finalizar juego-0"<<endl
CIN>>Continue;
}
Regresar 0;
}
Juego Buscaminas, código propio.