옵션 |
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main(){
int arr[8][12]={0};
int cnt=0;
int r,c,num=0,j=0,k=0;
int x=0;
int y=0;
int i=0;
srand((unsigned int)time(NULL));
printf("지뢰 개수를 입력하세요.");
scanf("%d",&num);
// 지뢰 심기
for(i=0;i<num;i++){
x=rand()%8;
y=rand()%12;
arr[x][y]=9;
for(j=0;j<8;j++){
for(k=0;k<12;k++){
if(arr[x][y]==arr[j][k]){
continue;
}
}
}
}
// 지뢰 위치
printf("지뢰가 심긴 장소\n");
for(r=0;r<8;r++){
for(c=0;c<12;c++){
if(arr[r][c]==9){
cnt++;
printf("%d arr[%d][%d]\n",cnt,r,c);
}
}
}
//확인할 곳
printf("확인할 곳을 입력하세요 : ");
scanf("%d %d",&x,&y);
if(arr[x][y]!=9){
cnt =0;
if(x-1>=0&&arr[x-1][y]==9){ // 12시
cnt++;
}
if(x-1>=0&&y+1<=11&&arr[x-1][y+1]==9){ //1시
cnt++;
}
if(y+1<=11&&arr[x][y+1]==9){ //3시
cnt++;
}
if(x+1<=7&&y+1<=11&&arr[x+1][y+1]){ //5시
cnt++;
}
if(x+1<=7&&arr[x+1][y]==9){ //6시
cnt++;
}
if(x+1<=7&&y-1>=0&&arr[x+1][y-1]==9){ //7시
cnt++;
}
if(y-1>=0&&arr[x][y-1]==9){ //9시
cnt++;
}
if(x-1>=0&&y-1>=0&&arr[x-1][y-1]==9){ //11시
cnt++;
}
}
arr[x][y]=cnt;
printf("%d\n",cnt);
}
붉게 되어있는 부분을 고치면 될거같은데,
continue 앞에 i-- 를 붙이면 먹통이 되어버립니다. 어떡하죠?