『壹』 C语言编写三局两胜的猜拳游戏编程

/*假设有A和B进行猜拳
'x'表示剪刀,'y'表示石头,'z'表示布
规则如下:
1、 石头 > 剪刀
2、 布 > 石头
3、 剪刀> 布
*/

#include <stdio.h>

#define WIN 1
#define LOSE -1
#define EQUAL 0

/*比赛规则函数*/
int game_rule(char a,char b)
{
switch(a)

case 'x':
{
switch(b)
case 'x':return EQUAL;
case 'y':return LOSE;
case 'z':return WIN;
}
case 'y':
{
switch(b)
case 'x':return WIN;
case 'y':return EQUAL;
case 'z':return LOSE;
}
case 'z':
{
switch(b)
case 'x':return LOSE;
case 'y':return WIN;
case 'z':return EQUAL;
}
}

/* main function*/
void main(void)
{
int ans;
int a = b = 0;
char A;
char B;

do
{
prinf("please input A:\n");
scanf("%c",&A);
getchar();
prinf("please input B:\n");
scanf("%c",&B);
getchar();
//有效性检查请自己加上
ans = game_rule(A,B);
if(ans==WIN)
{
a++;
prinf("A赢了%d局\n",a);
}
else if(ans==LOSE)
{
b++;
prinf("A赢了%d局\n",b);
}

if((a==2)||(b==2))
{
prinf("game over");
break;
}

}while(1);
}