오븐 노트

[C++] 가위 바위 보 본문

Develop/C++

[C++] 가위 바위 보

오 븐 2022. 6. 12. 17:06
#include <iostream>
using namespace std;

int main()
{
	// 가위 바위 보
	srand(time(0)); // 시드 설정

	const int SCISSORS = 1;
	const int ROCK = 2;
	const int PAPER = 3;
	int win = 0;
	int all = 0;

	while (true) {
		cout << "가위(1) 바위(2) 보(3) 선택하세요." << endl;
		cout << "> ";

		int rate = 0;
		int computerValue = 1 + (rand() % 3);
		int input;
		cin >> input;

		if (input == SCISSORS)
		{
			switch (computerValue)
			{
			case SCISSORS:
				cout << "가위(유저) vs 가위(PC) 비김" << endl;
				break;
			case ROCK:
				cout << "가위(유저) vs 바위(PC) 패배" << endl;
				all++;
				break;
			case PAPER:
				cout << "가위(유저) vs 보(PC) 승리" << endl;
				all++;
				win++;
				break;
			}
		}
		else if (input == ROCK)
		{
			switch (computerValue)
			{
			case SCISSORS:
				cout << "바위(유저) vs 가위(PC) 승리" << endl;
				all++;
				win++;
				break;
			case ROCK:
				cout << "바위(유저) vs 바위(PC) 비김" << endl;
				break;
			case PAPER:
				cout << "바위(유저) vs 보(PC) 패배" << endl;
				all++;
				break;
			}
		}
		else if (input == PAPER)
		{
			switch (computerValue)
			{
			case SCISSORS:
				cout << "보(유저) vs 가위(PC) 패배" << endl;
				all++;
				break;
			case ROCK:
				cout << "보(유저) vs 바위(PC) 승리" << endl;
				all++;
				win++;
				break;
			case PAPER:
				cout << "보(유저) vs 보(PC) 비김" << endl;
				break;
			}
		}
		else
		{
			break;
		}

		if (all) {
			rate = win * 100 / all;
		}

		cout << "현재 승률 : " << rate << "%" << endl;
		cout << endl;
	}
}

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의
 
C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다.
이미 알고 있는 내용도 다시 정리 되어있을 수 있습니다.

 

모든 글은 제가 공부하기 위해 작성합니다.

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

[C++] 함수 기초  (0) 2022.06.12
[C++] 열거형  (0) 2022.06.12
[C++] 별찍기와 구구단  (0) 2022.06.12
[C++] 반복문  (0) 2022.05.31
[C++] 분기문  (0) 2022.05.31