사용자로부터 가위 바위 보 중에서 하나를 입력받는다. 그리고 컴퓨터는 난수 생성을 통해서 가위 바위 보 중에서 하나를 선택하게 한다. 이 둘을 비교해서 승자와 패자를 가려주는 프로그램을 작성해 보자. 단 프로그램의 진행은 사용자가 질 때까지 계속되어야 하고, 마지막에 가서는 게임의 결과(a승 b무)까지 출력해 주도록 하자.

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


count_win=0;
count_draw=0;
const char m[3][5]={"바위", "가위", "보"};


void mjb(void);


int main(void)
{
      printf("가위 바위 보를 시작합니다.\n\n");
 
      srand((int)time(NULL));
      mjb();


      printf("게임의 결과 : %d승, %d무\n", count_win, count_draw);


      return 0;
}


void mjb(void)
{
      int val=1;
      int com;


      while(1){
            printf("바위는 1, 가위는 2, 보는 3 : ");
            scanf("%d", &val);
            com=rand()%3+1;


            if(val==com){
                  printf("당신은 %s 선택, 컴퓨터는 %s 선택, 비겼습니다.\n\n", m[val-1], m[com-1]);
                  count_draw++;
                  continue;
            }else if((val==1 && com==2) || (val==2 && com==3) || (val==3 && com==1)){
                  printf("당신은 %s 선택, 컴퓨터는 %s 선택, 당신이 이겼습니다.\n\n", m[val-1], m[com-1]);
                  count_win++;
                  continue;
            }else{
                  printf("당신은 %s 선택, 컴퓨터는 %s 선택, 당신이 졌습니다.\n", m[val-1], m[com-1]);
                  return;
            }
      }
}

신고

+ Recent posts

티스토리 툴바