Hola amigos les explico rapido:
Unos compañeros realizaron un código en c del juego buscaminas, necesito saber para que sirve cada ciclo, matriz y variable ya que hay algunos ciclos los cuales no entiendo su funcion.
Gracias
Unos compañeros realizaron un código en c del juego buscaminas, necesito saber para que sirve cada ciclo, matriz y variable ya que hay algunos ciclos los cuales no entiendo su funcion.
Gracias
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main()
{
int d,c,r,con,x,y,b=0,A[10][10]={0},B[10]={0},v=3,C[10][10],a;
srand(time(NULL));
for(x=0;x<10;x++){
for(y=0;y<10;y++){
C[x][y]=11;
}
}
for(x=0;x<10;x++){
for(y=0;y<10;y++){
A[x][y]=0;
}
}
printf("Selecciona una Dificultad:\n1. Facil\n2. Intermedio\n3. Dificil\n");
scanf("%i",&d);
switch(d){
case 1: for(c=0;c<10;c++){
x=rand()%10;
y=rand()%10;
A[x][y]=10;
}
a=90;
break;
case 2: for(c=0;c<20;c++){
x=rand()%10;
y=rand()%10;
A[x][y]=10;
}
a=80;
break;
case 3: for(c=0;c<40;c++){
x=rand()%10;
y=rand()%10;
A[x][y]=10;
}
a=60;
break;
}
printf("Dame coordenadas (x,y):\n");
scanf("%i",&x);
scanf("%i",&y);
while(b!=3&&a!=0){
con=0;
if(A[x][y]==10){
v=v-1;
b++;
printf("Era una bomba te quedan %i oportunidades.\n",v);
for(r=0;r<10;r++){
for(c=0;c<10;c++){
if(x==r&&y==c){
printf("X ");
}
else{
if(C[r][c]==11){
printf("# ");
}
else{
printf("%i ",C[r][c]);
}
}
}
printf("\n");
}
printf("Dame Coordenadas (x,y):\n");
scanf("%i",&x);
scanf("%i",&y);
}
else{
switch(y){
case 0: if(x==0){
B[0]=A[x][y+1];
B[1]=A[x+1][y];
B[2]=A[x+1][y+1];
for(c=0;c<3;c++){
if(B[c]==10){
con++;
}
}
}
else{
if(x==9){
B[0]=A[x][y+1];
B[1]=A[x-1][y];
B[2]=A[x-1][y+1];
for(c=0;c<3;c++){
if(B[c]==10){
con++;
}
}
}
else{
B[0]=A[x][y+1];
B[1]=A[x-1][y];
B[2]=A[x-1][y+1];
B[3]=A[x+1][y];
B[4]=A[x+1][y+1];
for(c=0;c<5;c++){
if(B[c]==10){
con++;
}
}
}
}
break;
case 9: if(x==0){
B[0]=A[x][y-1];
B[1]=A[x+1][y];
B[2]=A[x+1][y-1];
for(c=0;c<3;c++){
if(B[c]==10){
con++;
}
}
}
else{
if(x==9){
B[0]=A[x][y-1];
B[1]=A[x-1][y];
B[2]=A[x-1][y-1];
for(c=0;c<3;c++){
if(B[c]==10){
con++;
}
}
}
else{
B[0]=A[x][y-1];
B[1]=A[x-1][y];
B[2]=A[x-1][y-1];
B[3]=A[x+1][y];
B[4]=A[x+1][y-1];
for(c=0;c<5;c++){
if(B[c]==10){
con++;
}
}
}
}
break;
default: switch(x){
case 0: B[0]=A[x][y+1];
B[1]=A[x][y-1];
B[2]=A[x+1][y];
B[3]=A[x+1][y-1];
B[4]=A[x+1][y+1];
for(c=0;c<5;c++){
if(B[c]==10){
con++;
}
}
break;
case 9:
B[0]=A[x][y+1];
B[1]=A[x][y-1];
B[2]=A[x-1][y];
B[3]=A[x-1][y+1];
B[4]=A[x-1][y-1];
for(c=0;c<5;c++){
if(B[c]==10){
con++;
}
}
break;
default:
B[0]=A[x-1][y-1];
B[1]=A[x-1][y];
B[2]=A[x-1][y+1];
B[3]=A[x][y-1];
B[4]=A[x][y+1];
B[5]=A[x+1][y];
B[6]=A[x+1][y-1];
B[7]=A[x+1][y+1];
for(c=0;c<8;c++){
if(B[c]==10){
con++;
}
}
}
}
C[x][y]=con;
for(r=0;r<10;r++){
for(c=0;c<10;c++){
fflush(stdin);
if(C[r][c]==11){
printf("# ");
}
else{
printf("%i ",C[r][c]);
}
}
printf("\n");
}
a=a-1;
printf("Dame coordenadas(x,y):\n");
scanf("%i",&x);
scanf("%i",&y);
}
}
if(b==3){
printf("Perdiste. ");
}
else{
printf("Ganaste. ");
}
return 0;
}