숫자 야구 게임 만들기
게임 규칙입니다.
숫자는 3자리 중복되지 않습니다.
플레이어는 총 10번의 공격을 할 수 있으며
첫째 자리 수는 0이 올 수 없습니다.
자리수와 숫자가 같으면 스트라이크
숫자만 같으면 볼
하나도 맞지 않으면 아웃(종료) 입니다.
#include <iostream>
#include <time.h>
using namespace std;
void main()
{
srand((long)time(NULL));
int coNum[3] = {0,};
int myNum[3] = {0,};
int strike = 0, ball = 0;
int out = 0;
int i,j;
int roundCount = 0;
int startBtn = 0;
bool numError = false;
for (i=0; i<3; i++)
{
coNum[i] = rand() % 10;
if ( coNum[0] == 0 )
{
i--;
}
for (j=0; j<i; j++)
{
if ( coNum[i] == coNum[j] )
{
i--;
}
}
}
cout << coNum[0] << coNum[1] << coNum[2] << endl;
cout << " 숫자 야구 게임을 시작하겠습니다. " << endl << endl;
cout << " 총 10번의 공격을 할 수 있습니다. " << endl << endl;
cout << " 숫자는 3자리 수이고 중복되지 않으며 " << endl << endl;
cout << " 첫번째 자리 수는 0이 올 수 없습니다. " << endl << endl;
cout << " 숫자는 1 2 3, 4 5 6 처럼 띄어쓰기로 구분해주세요. " << endl << endl;
cout << " 게임을 시작하시려면 1을 입력해주세요. " << endl;
cout << " -> ";
cin >> startBtn;
if ( startBtn == 1 )
{
while (1)
{
numError = false;
cout << " 플레이어의 " << roundCount+1 << "번째 공격 ! " << endl;
cout << " -> ";
cin >> myNum[0] >> myNum[1] >> myNum[2];
if ( myNum[0] == 0 )
{
cout << " 첫번째 숫자는 0일 수 없습니다. 다시 입력해주세요. " << endl;
continue;
}
for (i=0; i<3; i++)
{
if( myNum[i] < 0 || myNum[i] > 9 )
{
numError = true;
}
}
if ( numError == true )
{
cout << " 숫자가 범위를 벗어납니다. 숫자를 다시 입력해주세요. " << endl;
continue;
}
for (i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
if (coNum[i] == myNum[j] && i == j)
{
strike++;
}
else if (coNum[i] == myNum[j] && i != j)
{
ball++;
}
}
}
if ( strike == 0 && ball == 0 )
{
out = 1;
}
cout << " 공격 결과 : " << strike << "Strike " << ball << "Ball " << endl << endl << endl;
if ( out == 1 )
{
cout << " 아웃입니다. " << endl;
cout << " 게임이 종료됩니다. " << endl;
break;
}
if ( strike == 3 )
{
cout << " 공격 성공! 컴퓨터의 숫자도 " << coNum[0] << coNum[1] << coNum[2] << "입니다." << endl;
break;
}
roundCount++;
if ( roundCount == 10 )
{
cout << " 공격 횟수 10번이 끝났습니다. " << endl;
break;
}
strike = 0;
ball = 0;
}
}
}
뭔가 선이 되게 안맞는 것 같네요.
파일이 필요하시면 이메일 알려주시면 보내드리겠습니다.
'- Programming > - C++' 카테고리의 다른 글
★ 15. 포인터의 사용 방법 (0) | 2015.12.29 |
---|---|
★ 14. 숫자 빙고 게임 만들기 (0) | 2015.12.29 |
★ 12. 랜덤 함수를 이용한 로또 번호 뽑기 - 2 (0) | 2015.12.28 |
★ 11. 랜덤 함수를 이용한 로또 번호 뽑기 - 1 (0) | 2015.12.28 |
★ 10. C++ 구조체 사용하기! (0) | 2015.12.25 |