ページ 11

じゃんけん

Posted: 2021年6月16日(水) 02:10
by 大熊
じゃんけんのプログラムを書こうと試みています。あいこになった場合再度キーボードからの入力をし、じゃんけんをし、結果を表示するにはどのように改良すればよろしいですか

コード:

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

int main(void)
{
  int hand_com,hand_YOU;
  srand(time(NULL)); rand();
hand_com = (rand()%(3));

  printf("*** じゃんけんします***\nじゃんけんぽん!(1:グー、2:チョキ、3:パー ):");
  
  scanf("%d",&hand_YOU);
  if(hand_YOU<1 || hand_YOU>3) 
  {printf("グー・チョキ・パー以外は反則です。");
    return(0); 
  }
if(hand_YOU==1)
printf("YOU:グー\n");
else if(hand_YOU==2)
printf("YOU:チョキ\n");
else 
printf("YOU:パー\n");

if(hand_com==1)
printf("COM:グー\n");
else if(hand_com==2)
printf("COM:チョキ\n");
else 
printf("COM:パー\n");

if(hand_YOU==hand_com)
printf("あいこ!\n");
else if((hand_YOU==1&&hand_com==2)||(hand_YOU==2&&hand_com==3)||(hand_YOU==3&&hand_com==1))
 printf("あなたの勝ち!\n");
 else if((hand_YOU==2&&hand_com==1)||(hand_YOU==3&&hand_com==2)||(hand_YOU==1&&hand_com==3))
 printf("あなたの負け!\n");


 printf("***終了***");
return(0)
}

Re: じゃんけん

Posted: 2021年6月16日(水) 04:59
by みけCAT
ループを使ってあいこだったら最初からやり直すようにする、というのが一つの手でしょう。

コード:

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

int main(void)
{
  int hand_com,hand_YOU;
  srand(time(NULL));
  for(;;)
  {
    rand();
    hand_com = (rand()%(3));

    printf("*** じゃんけんします***\nじゃんけんぽん!(1:グー、2:チョキ、3:パー ):");
    
    scanf("%d",&hand_YOU);
    if(hand_YOU<1 || hand_YOU>3) 
    {
      printf("グー・チョキ・パー以外は反則です。");
      return(0); 
    }
    if(hand_YOU==1)
      printf("YOU:グー\n");
    else if(hand_YOU==2)
      printf("YOU:チョキ\n");
    else 
      printf("YOU:パー\n");

    if(hand_com==1)
      printf("COM:グー\n");
    else if(hand_com==2)
      printf("COM:チョキ\n");
    else 
      printf("COM:パー\n");

    if(hand_YOU==hand_com)
    {
      printf("あいこ!\n");
      continue;
    }
    else if((hand_YOU==1&&hand_com==2)||(hand_YOU==2&&hand_com==3)||(hand_YOU==3&&hand_com==1))
      printf("あなたの勝ち!\n");
    else if((hand_YOU==2&&hand_com==1)||(hand_YOU==3&&hand_com==2)||(hand_YOU==1&&hand_com==3))
      printf("あなたの負け!\n");

    printf("***終了***");
    return(0);
  }
}

Re: じゃんけん

Posted: 2021年6月16日(水) 13:22
by 大熊
ありがとうございました。