ページ 11

じゃんけん

Posted: 2021年6月16日(水) 07:04
by 大熊
じゃんけんのコードをかきたいです。あいこになった場合は「あいこでしょ」と表示し、すぐにじゃんけんをやり直したいです。同時に1~3以外の数が入力された場合は「グー・チョキ・パーを出して下さい。」と表示させ、掛け声は,直前の掛け声と同じものにしたいです。あいこになった際に1~3以外を入力したら、「あいこでしょ」1回目のじゃんけん時で1~3以外を入力したら「"*** じゃんけんします***\nじゃんけんぽん!」と表示したいです。
具体的にお教えください



コード:

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

int main(void)
{
  int hand_com,hand_YOU;
  srand(time(NULL));
  printf("*** じゃんけんします***\nじゃんけんぽん!");
  for(;;)
  {
    rand();
    hand_com = (rand()%3+1);

    
    printf("(1:グー、2:チョキ、3:パー ):\n");
    scanf("%d",&hand_YOU);
    if(hand_YOU<1 || hand_YOU>3) 
    {
      printf("グー・チョキ・パー以外は反則です。\n");
      
    }
    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日(水) 07:16
by みけCAT
このコードは
じゃんけん - プログラマ専用SNS ミクプラ
で提示したものと大部分が同じですね。
hand_com の計算のバグが修正してあるのは素晴らしいです。
ただ、お礼を言うのが先ではないでしょうか?

フォーラムルールより引用
禁止行為について

以下の行為を禁止行為として定めます。

(中略)
"C言語何でも質問掲示板"でのみ適用される事項

(中略)
質問後、お礼を言わずにトピックを閉じる、または去る行為
義務行為

"C言語何でも質問掲示板"でのみ適用される事項

トピックを立て、解決した場合は「解決しました」とだけ書かず、どうやって解決したか他の人に分かるように書いて  からトピックを終了して下さい。

Re: じゃんけん

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