Devlog
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

#define ROW 5
#define COL 5

int Bingo[ROW][COL] = {0};

void initBoard();
void showBoard();
void eraseBoard(int num);
int checkBoard();
int main() {
 int nb = 0; //빙고 줄
 int num; //입력 번호
 initBoard(); //배열 초기화
 while (1) {
  showBoard(); //빙고판 출력
  if (nb >= 3) {
   printf("\n\n ! ! B I N G O ! ! \n\n");
   break;
  }
  else if (nb == 2)
   printf(" ! 2줄 맞았습니다 ! \n");
  else if (nb == 1)
   printf(" ! 1줄 맞았습니다 ! \n");
  
  printf("번호를 입력하세요: ");
  scanf("%d", &num);

  eraseBoard(num);
  nb = checkBoard();
 }
 return 0;
}
void showBoard() {
 // ━ ┃ ┓ ┗ ┛ ┏ ┫ ┳ ┻ ┣ ╋
 printf("┏━━━┳━━━┳━━━┳━━━┳━━━┓\n");
 for (int i = 0; i < ROW; i++) {
  for (int j = 0; j < COL; j++) {
   if (Bingo[i][j] > 0)
    printf("┃%3d", Bingo[i][j]);
   else
    printf("┃ ★", Bingo[i][j]);
  }
  printf("┃\n");
  if (i < 4){
   printf("┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");
  }
 }
 printf("┗━━━┻━━━┻━━━┻━━━┻━━━┛\n");
}
void eraseBoard(int num) {
 for (int i = 0; i < ROW; i++) {
  for (int j = 0; j < COL; j++) {
   if (num == Bingo[i][j])
    Bingo[i][j] = 0;
  }
 }
}
void initBoard() {
 int x, y, count = 1;
 srand((unsigned int)time(NULL));

 while (count < 26) {
  y = rand() % 5;
  x = rand() % 5;

  if (Bingo[y][x] == 0) {
   Bingo[y][x] = count;
   count++;
  }
 }
}

int checkBoard() {
int sum, count = 0;

 for (int i = 0; i < ROW; i++) { //가로 체크
  sum = 0;
  for (int j = 0; j < COL; j++) {
   sum += Bingo[i][j];
  }
  if (sum == 0)
   count++;
 }
 for (int j = 0; j < COL; j++) { //세로 체크
  sum = 0;
  for (int i = 0; i < ROW; i++) {
   sum += Bingo[i][j];
  }
  if (sum == 0)
   count++;
 }
 //대각선 체크
 sum = 0;
 for (int i = 0; i < ROW; i++){
  sum += Bingo[i][i]; 
 }
 if (sum == 0)
  count++;
 //대각선 체크
 sum = 0;
 for (int i = 0; i < ROW; i++) {
  sum += Bingo[i][4-i];
 }
 if (sum == 0)
  count++;

 return count;
}
profile

Devlog

@덩이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그