본문 바로가기

SW Study/윤성우 C 프로그래밍

도전! 프로그래밍3. 도전 5

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

int Compare(int num1, int num2) //입력 받은 두 수 비교
{
   if (num1 == 0) //바위
   {
      if (num2 == 1)   { return 2; }
      else if (num2 == 2) { return 0; }
      else { return 1; }
   }

   if (num1 == 1) //가위
   {
      if (num2 == 2)   { return 2; }
      else if (num2 == 0) { return 0; }
      else { return 1; }
   }   
   
   if (num1 == 2) //보
   {
      if (num2 == 0)   { return 2; }
      else if (num2 == 1) { return 0; }
      else { return 1; }
   }
}

int main(void)
{
   int num1, num2;
   int Win = 0;
   int Draw = 0;

   char *str[] = { "rock", "scissors", "paper" };

   while (1)
   {
      printf("rock 1, scissors 2, paper 3: ");
      scanf("%d", &num1); //입력

      srand((int)time(NULL)); //랜덤 숫자
      num1 -= 1;
      num2 = rand() % 3;

      if (Compare(num1, num2) == 2)
      {
         printf("You: %s, Comp: %s, You win! \n", str[num1], str[num2]);
         Win++;
      }
      else if (Compare(num1, num2) == 1)
      {
         printf("You: %s, Comp: %s, Draw! \n", str[num1], str[num2]);
         Draw++;
      }
      else if (Compare(num1, num2) == 0)
      {
         printf("You: %s, Comp: %s, You lose! \n", str[num1], str[num2]);
         break;
      }
   }

   printf("\n");
   printf("Result: %dW, %dD \n", Win, Draw);
   return 0;
}