티스토리 뷰

C++

20160503_야구게임만들기

cho22 2016. 5. 4. 01:21
반응형

콘솔로 야구게임을 만들어보자.

배열, if문, for문, rand 함수를 이용해 만들 수 있다.

순서를 나눠보면

1. 랜덤한 숫자 3개를 com[3]에 저장한다. (단, 첫번째 자리는 0이 될수 없으며, 각 자리의 숫자는 중복될 수 없다.)

2. 10번의 기회를 가지도록 for문을 만든다.

3. 각 기회당 세개의 숫자를 입력받고, com과 비교하여 숫자만 맞으면 ball, 숫자와 자리가 맞으면 strike의 숫자를 올려준다.

4. 세자리를 맞추면 게임을 끝낸다.

 

#include <iostream>

#include <time.h>

 

using namespace std;

 

int main() {

int com[3];    // 임의로 설정할 3개의 정수

int user[3];    // 입력받을 3개의 정수

int strike = 0, ball = 0;    // strike, ball의 수

 

while (true) {   // 3자리에 임의의 수를 중복되지 않도록 넣음.

com[0] = rand() % 10;

      if (com[0] == 0) continue;

com[1] = rand() % 10;

      if (com[0] == com[1]) continue;

      com[2] = rand() % 10;

      if (com[2] == com[0] || com[2] == com[1]) continue;

      break;

}

 

for (int i=0; i<10; i++) {        //기회가 10번이다.

cout << "세개의 수 입력 : ";

for(int i = 0; i<3; i++) {    //입력받는다.

cin >> user[i];

}

for(int i = 0; i<3; i++) {

for(int j =0; j<3; j++) {

if(i==j && com[i] == user[j]) strike++;

if(i!=j && com[i] == user[j]) ball++;

}

}

cout << strike <<"스트라이크 " << ball <<"볼" <<endl;

if (strike == 3)        // 3스트라이크이면 반복문을 나간다.

berak;

else                    // 3스트라이크가 아니면 볼, 스트라이크를 0으로 초기화한다.

strike = ball = 0;

}

}

반응형

'C++' 카테고리의 다른 글

20160510_함수  (0) 2016.05.12
20160504_문자열  (0) 2016.05.06
20160429_배열원소섞기(shuffle)  (0) 2016.04.30
20160428_제어문, 제어문활용하기  (0) 2016.04.29
20160427_반복문 활용, 배열  (0) 2016.04.28
댓글