카테고리 없음

[c++] 주사위 게임

s뽈록이s 2013. 9. 23. 10:24
void main()
{
	int su, dice;
	cout << "주사위 도박에 오신 것을 환영합니다. 종료(0)" << endl;

	while(1)
	{
		cout << "주사위 숫자를 맞춰 보세요 : ";
		cin >> su;
		if(su == 0)break;
		if((su < 1) || (su > 6))
		{
			cout << "잘못된 범위 입니다. 다시 입력해 주세요" << endl;
			continue;
		}

		dice = (rand() % 6) + 1;
		if(dice == su)cout << "맞췄습니다." << endl << endl;
		else cout << "틀렸습니다." << endl << endl;
	}
}

프로그램 실행화면


rand()함수를 이용해서 주사위 게임을 만들었다. rand()함수를 이용해 1~6까지의 숫자 중 하나가 정해지고 이를 사용자가 맞추는 게임이다.


while()에서 빠져 나오기 위해서는 0을 입력해 주어야만 한다. 이 프로그램의 문제점은 rand()함수만 사용했기 때문에 패턴이 똑같다는 것이다. 내 컴퓨터에서는 첫 번째 주사위는 6, 그다음 주사위도 6이 나오게 되어있다.


이를 수정하기 위해서는 현재의 시간 값을 이용해 seed값을 정해주는 것이다.