#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int main(){
srand(time(0));
int iNumber[5][5];
int iNumber2[25]={};
int i, j, k=0, l=0;
int iPlayer = 0;
int idx1, idx2, iTemp;
int iBingo = 0;
int iLength = 0, iBreadth = 0;
int iLine = 0, iLine2 = 0;
for (i = 0; i < 25; ++i){
iNumber2[i] = i + 1;
}
for (i = 0; i < 100; ++i){
idx1 = rand() % 25;
idx2 = rand() % 25;
iTemp = iNumber2[idx1];
iNumber2[idx1] = iNumber2[idx2];
iNumber2[idx2] = iTemp;
}
for (i = 0; i < 5; ++i){
for (j = 0; j < 5; ++j){
iNumber[i][j] = iNumber2[(i * 5) + j];
}
}
while (true){
system("cls");
printf("빙고 게임을 시작합니다\n");
for (i = 0; i < 5; ++i){
for (j = 0; j < 5; ++j){
if (iNumber[i][j] == iNumber[k][l]&&iNumber[i][j]==0){
printf("*\t");
}
else
printf("%d\t", iNumber[i][j]);
}
printf("\n\n");
}
printf("지울 숫자를 선택해 주세요");
scanf_s("%d", &iPlayer);
for (k = 0; k < 5; ++k){
for (l = 0; l < 5; ++l){
if (iNumber[k][l] == iPlayer){
break;
}
if (iNumber[k][l] == iPlayer)
break;
}
if (iNumber[k][l] == iPlayer){
iNumber[k][l] = 0;
break;
}
}
for (i = 0; i < 5; ++i){
for (j = 0; j < 5; ++j){
if (iNumber[i][j] == 0)
iLength++;
}
iLength = 0;
}
if (iLength == 5){
iBingo++;
printf("빙고 %d 줄을 완성하였습니다", iBingo);
system("pause");
}
for (j = 0; j < 5; ++j){
for (i = 0; i < 5; ++i){
if (iNumber[i][j] == 0)
iBreadth++;
}
iBreadth = 0;
}
for (i = 0; i < 5; ++i){
if (iNumber[i][i] == 0);
iLine++;
printf("%d", iLine);
}
if (iLine == 5);
printf("빙고 %d 줄을 완성하였습니다", iBingo);
system("pause");
iBingo++;
for (i = 0; i < 5; ++i){
if (iNumber[i][4-i] == 0);
iLine2++;
}
if (iLine2 == 5);
printf("빙고 %d 줄을 완성하였습니다", iBingo);
system("pause");
iBingo++;
if (iBreadth == 5){
iBingo++;
printf("빙고 %d 줄을 완성하여 승리 하였습니다.", iBingo);
system("pause");
}
}
return 0;
}
지금 그. 입력받은수가 *표가 되는거까진 했는데
대각선 / 가로 / 세로 로 비교해서
빙고 카운트가 늘어나가지고 5줄이상이면 게임이 종료되게 만들려는데. 어찌해야함까..
일단 if에 세미콜론 붙여논거 고치고, iLength == 5랑 iBreadth == 5가 어디에 들어가야 하는지, 뭘 해야하는지 생각해봐. 그리고 빙고카운트가 5줄 이상인걸 확인하려면 뭐를 어디서 체크해야하는지 생각하고. 지금 당장은 뒤죽박죽이다.
지울 숫자를 선택해 주세요도 이상하다....
goo.gl/J1lgp3