티스토리 뷰
빙고게임을 만들어보자
1~25 까지의 숫자로 5 X 5 의 빙고판을 만들고, 입력한 숫자가 있는 자리는 #으로 바꿔주어
가로 한줄이 모두 # 또는 세로 한줄이 ㅁ두 # 또는 대각선이 모두 #이면 빙고숫자를 올려주고,
빙고가 5개 이상이 되면 게임을 끝낼것이다.
1. 1 ~ 25 순서대로 이루어진 5 X 5의 빙고판을 만든다.
int bingo[5][5]; // 5 5 의 2차원 배열을 이용
for (int i = 0; i<5; i++){ // 1 부터 25로 초기화
for (int j =0; j<5; j++){
bingo[i][j] = i * 5 + j + 1;
}
}
2. 순서대로 되어있는 빙고판을 섞어준다.
for (int i = 0; i < 100; i++) { // 셔플 이해 안되면 앞의 게시물 참조.
int randNum1 = rand() % 5;
int randNum2 = rand() % 5;
int randNum3 = rand() % 5;
int randNum4 = rand() % 5;
int temp;
temp = bingo[randNum1][randNum2];
bingo[randNum1][randNum2] = bingo[randNum3][randNum4];
bingo[randNum3][randNum4] = temp;
}
3. 입력을 받고, 입력받은 숫자가 있는 부분을 #으로 바꿔준다.
cin >> input ;
for (int i = 0; i< 5; i++){
for (int j = 0; j < 5; j++) {
if(bingo[i][j] == input) { // 빙고판의 숫자와 입력받은 숫자 비교
bingo[i][j] = 35;
break;
}
}
}
4. #의 갯수를 세어 빙고의 갯수를 센다.
int bingoCount = 0;
int countCross1 = 0;
int countCross2 = 0;
for (int i = 0; i < 5; i++) {
int countCal = 0;
int countRow = 0;
for (int j = 0; j < 5; j++) {
if (bingo[i][j] == 35) countRow++;
if (bingo[j][i] == 35) countCal++;
if (i == j && bingo[i][j] == 35) countCross1++;
if ((i + j == 4 ) && bingo[i][j] == 35) countCross2++;
}
if (countRow == 5) bingoCount++; // 가로 한줄에 #이 5개면 빙고!
if (countCal == 5) bingoCount++; // 세로 한줄에 #이 5개면 빙고!
}
if (countCross1 == 5) bingoCount++; // 왼쪽에서 오른쪽아래로 가는 대각선의 숫자 5개가 모두 #이면 빙고!
if (countCross2 == 5) bingoCount++; // 오른쪽에서 왼쪽아래로 가는 대각선의 숫자 5개가 모두 #이면 빙고!
전체 소스코드 파일 첨부합니다.
'C++' 카테고리의 다른 글
20160513_포인터와 함수 (0) | 2016.05.17 |
---|---|
20160512_포인터 (0) | 2016.05.17 |
20160510_함수 (0) | 2016.05.12 |
20160504_문자열 (0) | 2016.05.06 |
20160503_야구게임만들기 (0) | 2016.05.04 |
- Total
- Today
- Yesterday
- 연말정산
- ngui 스크롤뷰 파티클
- 구글 스프레드시트 드롭다운
- 유니티 a href
- UPROPERTY
- 유니티 Library
- 유니티 개발자 면접
- scrollview particle
- 값형식과 참조형식의 차이
- Unreal
- 유니티 텍스트 하이퍼링크
- C#
- 휴대용유모차
- ngui 스크롤뷰
- 성남돌잔치
- 언제어디서나요요
- c언어
- 연결리스트
- Library/PackageCache
- particle cliping
- 내돈내산
- ngui 스크롤뷰 파티클 클리핑
- ngui 파티클
- 기술면접
- ngui scrollview particle
- 베이비젠요요
- 클라이언트 면접
- 스토케요요
- 도서대출프로그램
- 직군면접
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |