반응형
가위바위보 실습
//가위 바위 보 열거체
enum SRP
{
SRP_SCISSORS = 0,
SRP_ROCK,
SRP_PAPER,
SRP_END
};
- 열거체 선언
코드 작성
//난수테이블 생성
srand((unsigned int)time(0));
//가위바위보 게임 만들기
int srp = 0;
int iAI = 0;
while (true)
{
cout << "가위(0) 바위(1) 보(2) 끝내기(3) 선택하시오 : ";
cin >> srp;
cout << "Player : " << (SRP)srp << endl;
//잘못된 값 입력 시 처리
//continue : 다음 반복문으로 넘어가는 명령어
if (srp == SRP_END)
{
cout << "가위바위보 게임을 종료합니다." << endl;
break;
}
else if (srp < SRP_SCISSORS || srp >= SRP_END)
{
cout << "잘못된 값을 입력하셨습니다." << endl;
continue;
}
//난수 가위바위보 선택
//SRP_END를 넣으면 0~2까지의 난수가 생성
iAI = rand() % SRP_END;
cout << "AI : " << (SRP)iAI << endl;
//승자결정
switch (srp)
{
case SRP_SCISSORS:
if (iAI == SRP_SCISSORS)
cout << "비겼습니다." << endl;
else if (iAI == SRP_ROCK)
cout << "졌습니다." << endl;
else if (iAI == SRP_PAPER)
cout << "이겼습니다." << endl;
break;
case SRP_ROCK:
if (iAI == SRP_SCISSORS)
cout << "이겼습니다." << endl;
else if (iAI == SRP_ROCK)
cout << "비겼습니다." << endl;
else if (iAI == SRP_PAPER)
cout << "졌습니다." << endl;
break;
case SRP_PAPER:
if (iAI == SRP_SCISSORS)
cout << "졌습니다." << endl;
else if (iAI == SRP_ROCK)
cout << "이겼습니다." << endl;
else if (iAI == SRP_PAPER)
cout << "비겼습니다." << endl;
break;
}
}
결과
반응형
'C++ > C++입문' 카테고리의 다른 글
[C++] do while문 (0) | 2025.03.25 |
---|---|
[C++] for문 (0) | 2025.03.24 |
[C++] 반복문과 while문 (0) | 2025.03.22 |
[C++] Swich문과 열거체 (0) | 2025.03.22 |
[C++] 난수 (0) | 2025.03.22 |