요즘 C++를 사용해야할 일이있어 새로이 공부하는 생각으로 좋은 강의를 찾아서 팔로업하고있다.
- #include<iostream>
- #include <time.h>
- using namespace std;
- void main()
- {
- srand((unsigned int)time(0));
- int iNumber[9] = {};
- // 1 ~9 까지의 숫자를 설정.
- for (int i = 0;i < 9;++i)
- {
- iNumber[i] = i + 1;
- }
- // 숫자섞음
- int iTemp, idx1, idx2;
- for (int i = 0;i < 100;++i)
- {
- idx1 = rand() % 9;
- idx2 = rand() % 9;
- iTemp = iNumber[idx1];
- iNumber[idx1] = iNumber[idx2];
- iNumber[idx2] = iTemp;
- }
- cout << iNumber[0] << "\t" << iNumber[1] << "\t" << iNumber[2] << endl;
- int Strike = 0, Ball = 0;
- int iInput[3];
- int iGameCount = 1;
- while (true)
- {
- cout << iGameCount << "회" << endl;
- cout << " Input 1 ~ 9 Number of 3 ( 0 : exit ) :";
- cin >> iInput[0] >> iInput[1] >> iInput[2];
- if (iInput[0] == 0 || iInput[1] == 0 || iInput == 0)
- break;
- else if (iInput[0] < 0 || iInput[0]>9 || iInput[1] < 0 || iInput[1]>9 || iInput[2] < 0 || iInput[2]>9 )
- {
- cout << "잘못된 숫자를 입력 " << endl;
- continue;
- }
- else if (iInput[0] == iInput[1] || iInput[0] == iInput[2] || iInput[1] == iInput[2] )
- {
- cout << "중복된숫자 입력 " << endl;
- continue;
- }
- // 매번 Strike와 Ball의 수가 달라지기 때문에 0으로 초기화
- Strike = Ball = 0;
- // i for문은 맞춰야 할 숫자의 Index를 구한다.
- for (int i = 0;i < 3;i++)
- {
- for (int j = 0;i < 3;++j)
- {
- if (iNumber[i] == iInput[j])
- {
- // i가 0일때 j는 0 ~ 2 까지 반복하게 된다. 즉 맞춰야 할 숫자의
- // 첫번째 값과 입력받은 숫자의 1 ~3 차례대로 비교.
- if (i == j)
- ++Strike;
- else
- ++Ball;
- break;
- }
- }
- }
- if (Strike == 3)
- {
- cout << " 숫자 모두 맞춤 " << endl;
- break;
- }
- else if (Strike == 0 && Ball == 0)
- cout << "Out" << endl;
- else
- cout << Strike << "strike" << Ball << "ball" << endl;
- ++iGameCount;
- }
- }
Source 출처 : https://www.inflearn.com/course/c_game-making/
'Programming > C & C++' 카테고리의 다른 글
[C++] Bingo Game ver.3 ( AI Ver ) (0) | 2018.02.21 |
---|---|
[C++] Bingo Game ver.2 (0) | 2018.02.20 |
[C++] Bingo Game ver.1 (0) | 2018.02.20 |
[C++]숫자퍼즐게임 (0) | 2018.02.13 |
[C++] Lotto Game (0) | 2018.02.13 |