#include <stdio.h>
#include <stdlib.h>
void MineSweeping(int, int);
void PrintField(int, int);
main()
{
long seed;
int x, y, a, b, c, i, j, ti, tj, numberofmine, row, column;
char arr2[10][10];
char arr[10][10]=
{'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-',
'-','-','-','-','-','-','-','-','-','-'};
printf("맵 너비를 입력하세요.\n");
scanf("%d", &column);
printf("맵 높이를 입력하세요.\n");
scanf("%d", &row);
printf("지뢰 개수를 입력하세요.\n");
scanf("%d", &numberofmine);
printf("맵 크기는 가로 %d 세로 %d입니다. 학번을 입력하세요.\n", column, row);
scanf("%1d", &seed);
//printf("seed %1d \n",seed); //seed
srand(seed);
//int arr[column][row];
for(a=1 ; a<numberofmine ; a++ )
{
x = rand() % row;
y = rand() % column;
arr[x][y] = '*' ;
}
for(b = 0 ; b < row ; b++)
{
for(c = 0 ; c < column ; c++)
{
printf("%3c", arr[b][c]);
}
printf("\n");
}
printf("\n \n");
//getch();
for(i = 0; i < row; i++)
{
for(j = 0; j < column; j++)
{
arr2[i][j]=0; //숫자가 들어갈 배열초기화
}
}
for(i = 0; i < row; i++)
{
for(j = 0; j < column; j++)
{
if(arr[i][j] == '*')
{arr2[i][j]='*'; }
for(ti=i-1 ; ti=i+1 ; ti++)
{
for(tj=j-1 ; tj=j+1 ; tj++)
{
if(arr[ti][tj] != '*')
arr2[ti][tj]+=1;
}
}
}
}
for(i = 0; i < row; i++)
{
for(j = 0; j < column; j++)
{
printf("%3c", arr2[i][j]);
}
printf("\n");
} getch();
}
랜덤하게받아서 그좌표로 폭탄을 지정하구요 * 모양
주변의 폭탄개수 세는거입니다
잘 되는데요~~.
값을 입력할때 숫자가 아닌 값을 입력하면 에러가 발생합니다.
아래는 실행 결과 입니다.^^
==========================================
맵 너비를 입력하세요.
4
맵 높이를 입력하세요.
4
지뢰 개수를 입력하세요.
4
맵 크기는 가로 4 세로 4입니다. 학번을 입력하세요.
111
- - - -
* - - *
* - - -
- - - -