[C++] 가위바위보 게임 만들기(DOS Ver.)

in c •  7 years ago 

//DOS 모드에서 가위바위보를 하는 게임이다.
//숫자 1~3까지 누르고 엔터를 치면 된다.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int win;
int lose;
int draw;
char* ggg;

bool SelectHand(int hand);
void GameMain(void);

void main()
{
win = 0;
lose = 0;
draw = 0;

for(int i=0; i< 10; i++) // 게임은 10판만 하게 하기
{   
    printf("\n가위바위보 %d번째 게임을 시작합니다.\n", i+1);
    GameMain();
    printf("\n\t\t\t%d승 %d패 %d무\n\n", win, lose, draw);
}
ggg = new char[4];

}

void GameMain(void)
{

printf("가위, 바위, 보 셋 중 하나를 제시하세요\n");
printf("1. 가위  2. 바위  3. 보\n");

int playerHand;
int computerHand;

for(;;)// 가위바위보를 제대로 낼때까지 무한 반복 질문
{
    bool endLoop;
    scanf("%d", &playerHand);   

    printf("플레이어:");
    endLoop = SelectHand(playerHand);

    if(endLoop)
    {
        break;
    }
}

printf(" vs 컴퓨터:");

computerHand = rand() % 3; //AI처럼 하기 위해 컴퓨터가 낸 임의의 수를 3으로 나는 나머지를 구한다.
computerHand++;

SelectHand(computerHand);

printf("\n");

if(playerHand == computerHand) //플레이어와 컴퓨터가 같은 수 일 경우
{
    printf("무승부입니다.\n");
    draw++;
}
else if( (playerHand == 1 && computerHand == 2)
    || (playerHand == 2 && computerHand == 3)
    || (playerHand == 3 && computerHand == 1)) //컴퓨터가 이길수 있는 경우들
{
    printf("컴퓨터가 이겼습니다.\n");
    lose++;
}
else //그외는 플레이어가 이겼을때이다.
{
    printf("당신이 이겼습니다.\n");
    win++;
}

}

bool SelectHand(int hand)
{
switch(hand)
{
case 1:
printf("가위");
return true;
break;
case 2:
printf("바위");
return true;
break;
case 3:
printf("보");
return true;
break;
}

printf("다시 입력해 주세요\n");
return false;

}

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!