본문내용
rix[i+1][j] == 1 && matrix[i+2][j] == 1){ // 이건 세로방향으로 검사하는 겁니다. 행렬의 앞과 뒤를 바꾸면 됩니다.
ending_music();
gotoxy(40,11);
printf(" 흑돌 승리 ");
getch();
return 1;}
else if (matrix[i-2][j] == 2 && matrix[i-1][j] == 2 && matrix[i][j] == 2 && matrix[i+1][j] == 2 && matrix[i+2][j] == 2){
ending_music();
gotoxy(40,11);
printf(" 백돌 승리 ");
getch();
return 1;}
}
}
for ( i = 2; i < 18 ; i++){ // 이 for문은 대각선 방향을 검사하기 위한 for문입니다.
for ( j = 2; j < 18 ; j++){ // 가로와 세로 둘 다 동시에 검사를 해야하기 때문에 검사범위가 조금 좁습니다.
if (matrix[j-2][i-2] == 1 && matrix[j-1][i-1] == 1 && matrix[j][i] == 1 && matrix[j+1][i+1] == 1 && matrix[j+2][i+2] == 1){ // 이것과 바로 밑에 있는 elseif문이 왼쪽 위에서 오른쪽 밑으로 내려가는 대각선을 검사하는 겁니다.
ending_music();
gotoxy(40,11);
printf(" 흑돌 승리 ");
getch();
return 1;}
else if (matrix[j-2][i-2] == 2 && matrix[j-1][i-1] == 2 && matrix[j][i] == 2 && matrix[j+1][i+1] == 2 && matrix[j+2][i+2] == 2){
ending_music();
gotoxy(40,11);
printf(" 백돌 승리 ");
getch();
return 1;}
else if (matrix[j+2][i-2] == 1 && matrix[j+1][i-1] == 1 && matrix[j][i] == 1 && matrix[j-1][i+1] == 1 && matrix[j-2][i+2] == 1){ // 이 if문과 바로 밑의 elseif문은 왼쪽 아래에서 오른쪽 위로 올라가는 대각선을 검사하는 겁니다.
ending_music();
gotoxy(40,11);
printf(" 흑돌 승리 ");
getch();
return 1;}
else if (matrix[j+2][i-2] == 2 && matrix[j+1][i-1] == 2 && matrix[j][i] == 2 && matrix[j-1][i+1] == 2 && matrix[j-2][i+2] == 2){
ending_music();
gotoxy(40,11);
printf(" 백돌 승리 ");
getch();
return 1;}
}
}
return 0;
}
//---------------------------------------------
// ------ 바둑판을 그리는 함수------------------------
void draw_basic_square(int c,int r){
unsigned char a=0xa6,b[12], i;
for(i=1; i<12; i++)
b[i] = 0xa0 + i;
printf("%c%c", a, b[3]);
for(i=0; i
printf("%c%c", a, b[8]);
printf("%c%c", a, b[4]);
printf("\n");
for(int j=0; j
printf("%c%c", a, b[7]);
for(i=0; i
printf("%c%c", a, b[11]);
printf("%c%c", a, b[9]);
printf("\n");
}
printf("%c%c", a, b[6]);
for(int k=0; k
printf("%c%c", a, b[10]);
printf("%c%c", a, b[5]);
printf("\n");
}
//--------------BGM--------------------------------------
void start_music(){
Beep(300,200);//흰
Beep(800,200);//눈
Beep(700,200);//사
Beep(600,200);//이
Beep(300,400);//로
Sleep(400);
Beep(300,200);//썰
Beep(800,200);//매
Beep(700,200);//를
Beep(600,200);//타
Beep(400,200);//고
Sleep(600);
Beep(400,200);//달
Beep(880,200);//리
Beep(800,200);//는
Beep(700,200);//기
Beep(500,400);//분
Sleep(400);
Beep(1000,200);//상
Beep(1000,200);//쾌
Beep(880,200);//도
Beep(700,200);//하
Beep(800,200);//다
Beep(600,100);//~
}
void ending_music(){
Beep(800,300);//종
Beep(800,300);//소
Beep(800,600);//리
Beep(800,300);//울
Beep(800,300);//려
Beep(800,600);//라
Beep(800,300);//종
Beep(1000,300);//소
Beep(600,450);//리
Beep(700,150);//울
Sleep(100);
Beep(800,600);//려
Sleep(600);
}
//----------커서 이동함수----------------------
void gotoxy(int x, int y){
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}
//------------------------------------------------
ending_music();
gotoxy(40,11);
printf(" 흑돌 승리 ");
getch();
return 1;}
else if (matrix[i-2][j] == 2 && matrix[i-1][j] == 2 && matrix[i][j] == 2 && matrix[i+1][j] == 2 && matrix[i+2][j] == 2){
ending_music();
gotoxy(40,11);
printf(" 백돌 승리 ");
getch();
return 1;}
}
}
for ( i = 2; i < 18 ; i++){ // 이 for문은 대각선 방향을 검사하기 위한 for문입니다.
for ( j = 2; j < 18 ; j++){ // 가로와 세로 둘 다 동시에 검사를 해야하기 때문에 검사범위가 조금 좁습니다.
if (matrix[j-2][i-2] == 1 && matrix[j-1][i-1] == 1 && matrix[j][i] == 1 && matrix[j+1][i+1] == 1 && matrix[j+2][i+2] == 1){ // 이것과 바로 밑에 있는 elseif문이 왼쪽 위에서 오른쪽 밑으로 내려가는 대각선을 검사하는 겁니다.
ending_music();
gotoxy(40,11);
printf(" 흑돌 승리 ");
getch();
return 1;}
else if (matrix[j-2][i-2] == 2 && matrix[j-1][i-1] == 2 && matrix[j][i] == 2 && matrix[j+1][i+1] == 2 && matrix[j+2][i+2] == 2){
ending_music();
gotoxy(40,11);
printf(" 백돌 승리 ");
getch();
return 1;}
else if (matrix[j+2][i-2] == 1 && matrix[j+1][i-1] == 1 && matrix[j][i] == 1 && matrix[j-1][i+1] == 1 && matrix[j-2][i+2] == 1){ // 이 if문과 바로 밑의 elseif문은 왼쪽 아래에서 오른쪽 위로 올라가는 대각선을 검사하는 겁니다.
ending_music();
gotoxy(40,11);
printf(" 흑돌 승리 ");
getch();
return 1;}
else if (matrix[j+2][i-2] == 2 && matrix[j+1][i-1] == 2 && matrix[j][i] == 2 && matrix[j-1][i+1] == 2 && matrix[j-2][i+2] == 2){
ending_music();
gotoxy(40,11);
printf(" 백돌 승리 ");
getch();
return 1;}
}
}
return 0;
}
//---------------------------------------------
// ------ 바둑판을 그리는 함수------------------------
void draw_basic_square(int c,int r){
unsigned char a=0xa6,b[12], i;
for(i=1; i<12; i++)
b[i] = 0xa0 + i;
printf("%c%c", a, b[3]);
for(i=0; i
printf("%c%c", a, b[4]);
printf("\n");
for(int j=0; j
for(i=0; i
printf("%c%c", a, b[9]);
printf("\n");
}
printf("%c%c", a, b[6]);
for(int k=0; k
printf("%c%c", a, b[5]);
printf("\n");
}
//--------------BGM--------------------------------------
void start_music(){
Beep(300,200);//흰
Beep(800,200);//눈
Beep(700,200);//사
Beep(600,200);//이
Beep(300,400);//로
Sleep(400);
Beep(300,200);//썰
Beep(800,200);//매
Beep(700,200);//를
Beep(600,200);//타
Beep(400,200);//고
Sleep(600);
Beep(400,200);//달
Beep(880,200);//리
Beep(800,200);//는
Beep(700,200);//기
Beep(500,400);//분
Sleep(400);
Beep(1000,200);//상
Beep(1000,200);//쾌
Beep(880,200);//도
Beep(700,200);//하
Beep(800,200);//다
Beep(600,100);//~
}
void ending_music(){
Beep(800,300);//종
Beep(800,300);//소
Beep(800,600);//리
Beep(800,300);//울
Beep(800,300);//려
Beep(800,600);//라
Beep(800,300);//종
Beep(1000,300);//소
Beep(600,450);//리
Beep(700,150);//울
Sleep(100);
Beep(800,600);//려
Sleep(600);
}
//----------커서 이동함수----------------------
void gotoxy(int x, int y){
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}
//------------------------------------------------
소개글