如何用c语言函数玩猜拳 c语言猜拳游戏程序设计( 四 )


cpt[rool].score-=money;
cpt[(cpt[rool].time-1)%5].score=cpt[(cpt[rool].time-1)%5].score+money;
break;
}
case -1:
case 2 :
{
printf("你赢了,系统将给予你%d个金币,你的余额为:%d\n",money,cpt[rool].score+money);
cpt[rool].score+=money;
cpt[(cpt[rool].time-1)%5].score=cpt[(cpt[rool].time-1)%5].score-money;
break;
}
}
cpt[rool].time+=1;
writefile();
}
game();
}
}
}
}
main()//主函数
{
srand( (unsigned)time(0) );
number=readfile();
rule();
rool=registe();
game();
}
C语言编写三局两胜的猜拳游戏编程/*假设有A和B进行猜拳
'x'表示剪刀,'y'表示石头 , 'z'表示布
规则如下:
1、石头剪刀
2、布石头
3、剪刀 布
*/
#include stdio.h
#define WIN1
#define LOSE-1
#define EQUAL0
/*比赛规则函数*/
intgame_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);
}
c语言问题 猜拳游戏整体还是很好的 。
问题在这里:
“scanf("%c,%C",player1,player2); ”这一句,第二个%c大写了,改一下 。
scanf的实质是将键盘输入字符存入声明字符变量时开辟的一段存储区域 。第一局运行正常,而第二局往后你只是单纯的想覆盖输入,这是不可以的——因为你在上一次使用scanf后没有清空输入缓存, 这样再次使用scanf的时候函数就会认为你已经输入过了 。
改进只需要在scanf之前加上fflush(stdin)清空输入缓存 。
如图:
希望帮上忙 。
关于如何用c语言函数玩猜拳和c语言猜拳游戏程序设计的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读