Programming/ C & C++

[C++] BaseBall Game

BadaGreen_Kim 2018. 2. 13. 13:44

요즘 C++를 사용해야할 일이있어 새로이 공부하는 생각으로 좋은 강의를 찾아서 팔로업하고있다.  



  1. #include<iostream>
  2. #include <time.h>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. void main()
  8.  
  9. {
  10.     srand((unsigned int)time(0));
  11.    
  12.     int iNumber[9] = {};
  13.  
  14.  
  15.     // 1 ~9 까지의 숫자를 설정.
  16.  
  17.     for (int i = 0;< 9;++i)
  18.     {
  19.         iNumber[i] = i + 1;
  20.     }
  21.  
  22.     // 숫자섞음
  23.  
  24.     int iTemp, idx1, idx2;
  25.  
  26.     for (int i = 0;< 100;++i)
  27.     {
  28.         idx1 = rand() % 9;
  29.         idx2 = rand() % 9;
  30.  
  31.         iTemp = iNumber[idx1];
  32.         iNumber[idx1] = iNumber[idx2];
  33.         iNumber[idx2] = iTemp;
  34.     }
  35.  
  36.  
  37.     cout << iNumber[0] << "\t" << iNumber[1] << "\t" << iNumber[2] << endl;
  38.  
  39.     int Strike = 0, Ball = 0;
  40.     int iInput[3];
  41.     int iGameCount = 1;
  42.  
  43.     while (true)
  44.     {
  45.         cout << iGameCount << "회" << endl;
  46.         cout << " Input 1 ~ 9  Number of 3 ( 0 : exit ) :";
  47.         cin >> iInput[0] >> iInput[1] >> iInput[2];
  48.  
  49.         if (iInput[0] == 0 || iInput[1] == 0 || iInput == 0)
  50.             break;
  51.  
  52.         else if (iInput[0] < 0 || iInput[0]>9 || iInput[1] < 0 || iInput[1]>9 || iInput[2] < 0 || iInput[2]>9 )
  53.         {
  54.             cout << "잘못된 숫자를 입력 " << endl;
  55.             continue;
  56.         }
  57.         else if (iInput[0] == iInput[1] || iInput[0] == iInput[2] || iInput[1] == iInput[2] )
  58.         {
  59.             cout << "중복된숫자 입력 " << endl;
  60.             continue;
  61.         }
  62.        
  63.        
  64.         // 매번 Strike와 Ball의 수가 달라지기 때문에 0으로 초기화
  65.  
  66.         Strike = Ball = 0;
  67.        
  68.  
  69.         // i for문은 맞춰야 할 숫자의 Index를 구한다.
  70.         for (int i = 0;< 3;i++)
  71.         {
  72.             for (int j = 0;< 3;++j)
  73.             {
  74.                 if (iNumber[i] == iInput[j])
  75.                 {
  76.  
  77.                     // i가 0일때 j는 0 ~ 2 까지 반복하게 된다. 즉 맞춰야 할 숫자의
  78.                     // 첫번째 값과 입력받은 숫자의 1 ~3 차례대로 비교.
  79.  
  80.                     if (== j)
  81.                         ++Strike;
  82.                     else
  83.                         ++Ball;
  84.  
  85.  
  86.                     break;
  87.                 }
  88.             }
  89.         }
  90.  
  91.  
  92.         if (Strike == 3)
  93.         {
  94.             cout << " 숫자 모두 맞춤 " << endl;
  95.             break;
  96.         }
  97.         else if (Strike == 0 && Ball == 0)
  98.             cout << "Out" << endl;
  99.         else
  100.             cout << Strike << "strike" << Ball << "ball" << endl;
  101.  
  102.         ++iGameCount;
  103.  
  104.     }
  105.  
  106.  
  107.  
  108. }






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