20190729] 빙고 게임

#include <iostream>
#include <time.h>
using namespace std;
//5*5빙고 만들기
//빙고 카운트 3이면 게임 종료 하도록
int main()
{
srand(time(NULL));
//0으로 바꿔라
int turn = 0;
int user_num[25];
int bingo_count = 0;
//1.25짜리 배열 선언
int bingo[25];
for (int i = 0; i < 25; i++) bingo[i] = i + 1;
//2.배열 셔플
for (int i = 0; i < 1000; i++)
{
int index1 = rand() % 25;
int index2 = rand() % 25;
int temp = bingo[index1];
bingo[index1] = bingo[index2];
bingo[index2] = temp;
}
//게임 반복
for (int u = 0;u < 25; u++)
{
int count = 0;
//6.빙고 카운트 판단
//가로줄이 모두 0인가?
for (int i = 0; i < 5; i++)
{
if (bingo[i] == 0 && bingo[i + 1] == 0 && bingo[i + 2] == 0 && bingo[i + 3] == 0 && bingo[i + 4] == 0) count++;
}
//세로줄이 모두 0인가?
for (int i = 0; i < 5; i++)
{
if (bingo[i] == 0 && bingo[i + 5] == 0 && bingo[i + 10] == 0 && bingo[i + 15] == 0 && bingo[i + 20] == 0) count++;
}
//대각선이 모두 0인가?
if (bingo[0] == 0 && bingo[5 + 1] == 0 && bingo[10 + 2] == 0 && bingo[15 + 3] == 0 && bingo[20 + 4] == 0) count++;
if (bingo[4] == 0 && bingo[9 - 1] == 0 && bingo[14 - 2] == 0 && bingo[19 - 3] == 0 && bingo[24 - 4] == 0) count++;
bingo_count = count;
cout << "bingo count: " << bingo_count << endl;
//3.빙고 판 노출 하기
for (int i = 0; i < 25; i = i + 5)
{
for (int j = i; j < i + 5; j++)
{
cout << bingo[j] << "\t";
}
cout << "\n\n\n" << endl;
}
//7.win
if (bingo_count >= 3)
{
cout << turn << "회차" << endl;
cout << "3 BINGO!!! WIN" << endl;
break;
}
turn++;
//4.유저 인풋
cout << turn << "회차" << endl;
cout << "1 ~ 25 숫자를 입력 하세요" << endl;
cin >> user_num[u];
cout << user_num[u] << "를 입력 하셨습니다." << endl;
//5.만들어진 빙고 판에서 숫자를 찾아 0으로 바꾸기
for (int i = 0;i < 25; i++)
{
if (bingo[i] == user_num[u])
{
bingo[i] = 0;
break;
}
}
system("cls");
}
}//end of main
댓글
댓글 쓰기