#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define _KATI 0 //勝ち
#define _AIKO 1 //相子
#define _MAKE 2 //負け
/***********************************/
/* ジャンケンプログラム */
/***********************************/
int main()
{
int cpu_te; //コンピュータの手
int user_te; //ユーザーの手
int kekka; //結果
char cWork;
/* ジャンケン処理本体 */
kekka = _AIKO; //初期状態は、相子にしておく
printf("ジャンケンしましょ、じゃんけん〜ポン!\n");
while(kekka == _AIKO)
{
printf("0〜2の文字を入力してください(グー:0 / チョキ:1 / パー:2) >>> \n");
cWork = getch();
if((cWork == '0')||(cWork == '1')||(cWork == '2'))
{
user_te = atoi(&cWork); //数字が入力された場合
cpu_te = rand()%3; //乱数を取得
switch(user_te)
{
//グーの時
case 0:
if(cpu_te == 0) kekka = _AIKO; //相子
else if(cpu_te == 1) kekka = _KATI; //負け
else kekka = _MAKE; //勝ち
break;
//チョキの時
case 1:
if(cpu_te == 0) kekka = _MAKE; //勝ち
else if(cpu_te == 1) kekka = _AIKO; //相子
else kekka = _KATI; //負け
break;
//パーの時
case 2:
if(cpu_te == 0) kekka = _KATI; //負け
else if(cpu_te == 1) kekka = _MAKE; //勝ち
else kekka = _AIKO; //相子
break;
}
/* ジャンケン結果 */
if(kekka == _AIKO)
{//相子の場合(もう一度処理を続行させる)
printf("あ〜いこで、しょ!\n");
}
else
{//勝負がついている場合
printf("アナタの手は、");
switch(user_te)
{
case 0: printf("グー"); break;
case 1: printf("チョキ"); break;
case 2: printf("パー"); break;
}
printf("で、CPUの手は、");
switch(cpu_te)
{
case 0: printf("グー"); break;
case 1: printf("チョキ"); break;
case 2: printf("パー"); break;
}
printf("です。結果は、 ---->あなたの");
if(kekka == _KATI) printf("勝ちです。 \n");
else printf("負けです。 \n");
break;
}
}
else
{
printf("不明な番号が入力されましたのであなたの負けです。\n");
break; //処理を終了させる
}
}
scanf("a");
return 0;
}
|