【ソース】
ソースがきたないけどとりあえず動いたのでアップします。
//
// 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