반응형

/* 4x4 빙고판 만들기

 

*/

 

#include "stdafx.h"
#include <stdio.h>

#include <random>
using namespace std;

int main()
{
 random_device rn;
 mt19937_64 rnd(rn());
 uniform_int_distribution<int> range(0, 4);

 int bingo[5][5] = { 0 };
 int dx = 0, dy = 0;
 int dx2 = 0, dy2 = 0;
 int count = 1;
 int tmp = 0;
 int inputkey = 0;
 int finish = 0;
 int bingoline = 0;

  // 배열에 숫자 넣기
  for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
    bingo[i][j] = count++;
   }
  }

  // 빙고판 섞기
  for (int k = 0; k < 10000; k++) {
   dx = range(rnd);
   dy = range(rnd);
   dx2 = range(rnd);
   dy2 = range(rnd);

   tmp = bingo[dx][dy];
   bingo[dx][dy] = bingo[dx2][dy2];
   bingo[dx2][dy2] = tmp;
  }

  while (1) {
   system("cls");

   printf("■■■■■■■■");
   printf("\n■   Bingo    ■");
   printf("\n■■■■■■■■\n");

   // 빙고판 출력
   for (int x = 0; x < 5; x++) {
    for (int y = 0; y < 5; y++) {
     if (inputkey == bingo[x][y]) {
      bingo[x][y] = 0;
      printf(" ■");
     }
     
     else
     {
      if (bingo[x][y] == 0)
      {
       printf(" ■");
      }
      else
      {
       printf("%3d", bingo[x][y]);
      }
     }
    }
    printf("\n");
   }
   printf("■■■■■■■■\n");
   printf("※ 마킹 할 숫자를 입력하세요 : ");
   scanf_s("%d", &inputkey);
   
   //빙고 라인 체크
   printf("%d 라인, 빙고 완성 ※");
   
   //빙고 승리! (5라인)
   if (finish == 1) {
    system("cls");
    printf("※ 축하합니다. 빙고 완성 ※");
   }
   
  }
 return 0;
 
}

반응형

+ Recent posts