home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 December / VPR0012A.BIN / OLS / CMKT111 / cmkt111.lzh / Cmachine / sample / janken.c < prev    next >
C/C++ Source or Header  |  2000-09-07  |  2KB  |  91 lines

  1.  
  2. /*
  3.  * C machine サンプル ~ 制御構造・標準入出力・乱数
  4.  *
  5.  * 「乱数を使った簡単なジャンケンゲーム」
  6.  *
  7.  */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <time.h>
  12.  
  13. int main(void)
  14. {
  15.     int            pon_you;        // あなた:1/2/3 = グー/チョキ/パー
  16.     int            pon_com;        // コンピューター:1/2/3 = グー/チョキ/パー
  17.     short        loop_flg = 1;    // 0/1 = ループ終わり/ループ続行
  18.     time_t        t;
  19.  
  20.     t = time((time_t *)0);
  21.     srand((unsigned int)t);
  22.  
  23.     while(loop_flg)
  24.     {
  25.         puts("*** 1グー、2チョキ、3パー、4おしまい ***");
  26.         puts("1~4のうちの一つを入力して、改行押してください");
  27.         scanf("%d", &pon_you);
  28.         pon_com = rand() % 3 + 1;
  29.  
  30.         switch(pon_you)
  31.         {
  32.         case 1:        //     グー
  33.             printf("あなた:グー\tVS");
  34.             switch(pon_com)
  35.             {
  36.             case 1:    // グー
  37.                 puts("\tコンピューター:グー");
  38.                 puts("******** 引き分け(・_・)********\n");
  39.                 break;
  40.             case 2:
  41.                 puts("\tコンピューター:チョキ");
  42.                 puts("******** あなたの勝ち(^_^)********\n");
  43.                 break;
  44.             case 3:
  45.                 puts("\tコンピューター:パー");
  46.                 puts("******** あなたの負け(;_;)********\n");
  47.             }
  48.             break;
  49.         case 2:        // チョキ
  50.             printf("あなた:チョキ\tVS");
  51.             switch(pon_com)
  52.             {
  53.             case 1:    // グー
  54.                 puts("\tコンピューター:グー");
  55.                 puts("******** あなたの負け(;_;)********\n");
  56.                 break;
  57.             case 2:
  58.                 puts("\tコンピューター:チョキ");
  59.                 puts("******** 引き分け(・_・)********\n");
  60.                 break;
  61.             case 3:
  62.                 puts("\tコンピューター:パー");
  63.                 puts("******** あなたの勝ち(^_^)********\n");
  64.             }
  65.             break;
  66.         case 3:        // パー
  67.             printf("あなた:パー\tVS");
  68.             switch(pon_com)
  69.             {
  70.             case 1:    // グー
  71.                 puts("\tコンピューター:グー");
  72.                 puts("******** あなたの勝ち(^_^)********\n");
  73.                 break;
  74.             case 2:
  75.                 puts("\tコンピューター:チョキ");
  76.                 puts("******** あなたの負け(;_;)********\n");
  77.                 break;
  78.             case 3:
  79.                 puts("\tコンピューター:パー");
  80.                 puts("******** 引き分け(・_・)********\n");
  81.             }
  82.             break;
  83.         case 4:
  84.         default:
  85.             loop_flg = 0;
  86.         }
  87.     }
  88.  
  89.     return 0;
  90. }
  91.