6 7 8
#include
#include
#include
int random(int maxlim);
int judgewin(char h1,char h2);
void disphand(char h);
void main()
{
char man,computer;
char wantplay;
//重置随机数序列
srand( (unsigned)time( NULL ) );
printf("-----------猜 拳--------------\n");
do
{
//您出拳
while(1)
{
printf("您出什么拳?(1--石头 2--剪子 3--布):");
man=getche();
if(man'3')
printf("您出的不是拳!\n");
else
break;
}
//显示您出的拳
printf("\n您出的是");
disphand(man);
printf("\n");
//电脑出拳
computer=random(3) + '1';
//显示电脑出的拳
printf("我出的是");
disphand(computer);
printf("\n");
//判断胜负
switch(judgewin(man,computer))
{
case 0://平
printf("不分胜负\n");
break;
case 1://您赢
printf("唉! 我输了。
\n");
break;
case -1://电脑赢
printf("哈哈! 我赢了。
\n");
break;
}
printf("还玩吗?(Y/N)");
wantplay=getche();
printf("\n\n");
}while(wantplay=='y'||wantplay=='Y');
}
//产生0到maxlim之间的随机数
int random(int maxlim)
{
float number;
number=((float)rand()/RAND_MAX)*maxlim;
return((int)number);
}
//判断h1和h2的胜负
int judgewin(char h1,char h2)
{
if(h1==h2)
return 0;//peace
else if( (h1=='1'&&h2=='2') // h1出石头,h2出剪子
||(h1=='2'&&h2=='3') //或者h1出剪子,h2出布
||(h1=='3'&&h2=='1') ) //或者h1出布 ,h2出石头
return 1;//h1 win
else
return -1;//h2 win
}
//根据h的值显示"石头"、"剪子"、"布"
void disphand(char h)
{
switch(h)
{
case '1':
printf("石头");
break;
case '2':
printf("剪子");
break;
case '3':
printf("布");
break;
}
}。
全部