가위 바위 보 !

이승덱·2021년 7월 21일

CPP

목록 보기
10/70
#include <iostream>

using namespace std;

int main()

{

 //컴퓨터에 '랜덤 값'이 존재할 수 없다.

 //사실 랜덤이 아니라 특정 시드에 따라 다른 값을 계산하는 방식으로 난수를 생성

 //따라서 랜덤값을 만들기 위해서는 시드가 항상 달라져야함

 //따라서 시간에 따라 다른 시드를 지정하는 방식을 사용

 srand(time(0)); //시간에 따라 다른 시드 지정

 const int SCISSORS = 1;

 const int ROCK = 2;

 const int PAPER = 3;

 int CWin = 0;

 int MWin = 0;

 while (true) {

 cout << "가위-1 바위-2 보-3 중 하나를 고르시오" << endl;

 if (MWin + CWin == 0) {

 cout << "전적이 없습니다." << endl;

 }

 else

 cout << "승률" << ((float)MWin / (MWin + CWin))*100 <<"% "<<

 MWin<<"승 "<<CWin<<"패"<< endl;

 cout << ">>";

 // 1 2 3

 int Cvalue = rand() % 3 + 1;

 int Mvalue;

 cin >> Mvalue;

 if (Mvalue == SCISSORS) {

 switch (Cvalue) {

 case SCISSORS:

 cout << "플레이어(가위) vs 컴퓨터(가위) 비겼습니다."<<endl;

 break;

 case ROCK:

 cout << "플레이어(가위) vs 컴퓨터(바위) 졌습니다." << endl;

 CWin++;

 break;

 case PAPER:

 cout << "플레이어(가위) vs 컴퓨터(보) 이겼습니다." << endl;

 MWin++;

 break;

 }

 }

 else if (Mvalue == ROCK) {

 switch (Cvalue) {

 case SCISSORS:

 cout << "플레이어(바위) vs 컴퓨터(가위) 이겼습니다." << endl;

 MWin++;

 break;

 case ROCK:

 cout << "플레이어(바위) vs 컴퓨터(바위) 비겼습니다." << endl;

 break;

 case PAPER:

 cout << "플레이어(바위) vs 컴퓨터(보) 졌습니다." << endl;

 CWin++;

 break;

 }

 }

 else if (Mvalue == PAPER) {

 switch (Cvalue) {

 case SCISSORS:

 cout << "플레이어(보) vs 컴퓨터(가위) 졌습니다." << endl;

 CWin++;

 break;

 case ROCK:

 cout << "플레이어(보) vs 컴퓨터(바위) 이겼습니다." << endl;

 MWin++;

 break;

 case PAPER:

 cout << "플레이어(보) vs 컴퓨터(보) 비겼습니다." << endl;

 break;

 }

 }

 else {

 cout << "잘못 입력하셨습니다." << endl;

 }

 cout << endl;

 }

 

}
profile
공부 기록용 블로그입니다

0개의 댓글