じゃんけんゲーム(C言語)

【スクリプト概要】
じゃんけんゲーム、3回先に勝った方が勝ちとする

【ソース】
ソースがきたないけどとりあえず動いたのでアップします。

//
//  janken
//
//  作成日: 2014/04/06.
//  作成者: tkc
//

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

int input;        //プレイヤー入力値代入用
int you_win;      //プレイヤー勝利数代入用
int cpu_win;      //コンピュータ勝利数代入用
int num_time = 3; //何回勝ったら勝ちか
int input_ng;     //NGフラグ初期化
int cpu_hand;
int judge;

int input_judge(int a)
{
    switch (a) {
    case 0:
    case 1:
    case 2:
        input_ng = 1;
        break;
    default:
        input_ng = 100;
        break;
    }
    return 0;
}

int syouhai(int b)
{
    cpu_hand = rand()%3;
    if ( cpu_hand == b + 1 ) {
        //プレイヤーの勝ち数加算
        you_win = you_win + 1;
        judge = 0;
    } else if ( cpu_hand == 0 && b == 2 ) {
        //プレイヤーの勝ち数加算
        you_win = you_win + 1;
        judge = 0;
    } else if ( cpu_hand == b ) {
        //引き分け
        judge = 2;
    } else {
        //CPUの勝ち数加算
        cpu_win = cpu_win + 1;
        judge=1;
    }
    return 0;
}

int main(void)
{
    srand((unsigned int)time(NULL));
    
    printf("じゃんけんゲームを開始します\n");
    printf("先に%d回勝った方が勝ちです\n",num_time);
    
    while (you_win < num_time && cpu_win < num_time) {
        printf("じゃん、けん、\n");
        printf("グー:0、チョキ:1、パー:2\n");
        scanf("%d",&input);
        
        //入力値の確認
        input_judge(input);
        if (input_ng == 100) {
            printf("入力値が不正です\n");
            continue;
        }
        
        syouhai(input);
        
        switch (judge) {
        case 0:
            printf("あなたの勝ちです\n");
            break;
        case 1:
            printf("あなたの負けです\n");
            break;
        case 2:
            printf("あいこです\n");
            break;
        }
        
        printf("%d 勝 %d 負\n",you_win,cpu_win);
    }
    
    if (you_win == 3) printf("おめでとう、あなたの勝ちです\n");
    if (cpu_win == 3) printf("残念でした、あなたの負けです\n");
}
最終更新:2014年04月10日 23:01