C语言实现简单猜拳小游戏
C语言实现简单的一个猜拳小游戏,供大家参考,具体内容如下
全部代码
#include#include #include #include intpcinput;//电脑输入 intuserinput;//用户输入 #defineecho">_"//俺觉得好看 charcase_win(intleft,intright);//判断哪边赢了;left是玩家,right是电脑 intechoinput(intinputnum);//根据两个全局变量输出对应进行的操作 intmain(){ printf("规则\n\n"); puts("1.石头\n"); puts("2.剪刀\n"); puts("3.布\n"); printf("%s你的输入:",echo); scanf_s("%d",&userinput); printf("\n"); if(echoinput(userinput)==1){ Sleep(1000); system("cls"); main(); } else{ printf("\n"); printf("\n"); printf("%s等待电脑结果.\0",echo); Sleep(500); printf("."); Sleep(500); printf(".\n"); srand(time(NULL)); pcinput=rand()%3+1; printf("\n"); echoinput(pcinput); printf("\n"); printf("\n"); if(case_win(userinput,pcinput)=='L'){ printf("玩家胜利"); } elseif(case_win(userinput,pcinput)=='R'){ printf("电脑胜利"); } else{ printf("双方平局"); } printf("\n"); printf("\n"); printf("--------------------"); printf("\n"); printf("\n"); printf("三秒后继续..."); Sleep(1000); printf("二秒后继续..."); Sleep(1000); printf("一秒后继续..."); Sleep(1000); system("cls"); main(); } return0; } charcase_win(intleft,intright){ charreslut; /* *声明 *石头->1 *剪刀->2 *_布->3 */ /* *规则: *石头->剪刀 *剪刀->布 *布->石头 */ /*判断,左边是玩家*/ if(left==right){ reslut='P'; } else{ if(left==1){ if(right==2){ reslut='L'; } elseif(right==3){ reslut='R'; } } elseif(left==2){ if(right==1){ reslut='R'; } elseif(right==3){ reslut='L'; } } elseif(left==3){ if(right==1){ reslut='L'; } elseif(right==2){ reslut='R'; } } } returnreslut; } intechoinput(intinputnum){ intreslut=0; switch(inputnum){ case1: printf("(石头)"); break; case2: printf("(剪刀)"); break; case3: printf("(布)"); break; default: printf("(输入有误)"); reslut=1; break; } returnreslut; }
全局变量
intpcinput;//电脑输入 intuserinput;//用户输入
函数定义
charcase_win(intleft,intright);//判断哪边赢了;left是玩家,right是电脑 intechoinput(intinputnum);//根据两个全局变量输出对应进行的操作
打印规则和输入提示
printf("规则\n\n"); puts("1.石头\n"); puts("2.剪刀\n"); puts("3.布\n"); printf("%s你的输入:",echo); scanf_s("%d",&userinput); printf("\n");
Main方法中的主要逻辑
intmain(){ printf("规则\n\n"); puts("1.石头\n"); puts("2.剪刀\n"); puts("3.布\n"); printf("%s你的输入:",echo); scanf_s("%d",&userinput); printf("\n"); if(echoinput(userinput)==1){ Sleep(1000); system("cls"); main(); } else{ printf("\n"); printf("\n"); printf("%s等待电脑结果.\0",echo); Sleep(500); printf("."); Sleep(500); printf(".\n"); srand(time(NULL)); pcinput=rand()%3+1; printf("\n"); echoinput(pcinput); printf("\n"); printf("\n"); if(case_win(userinput,pcinput)=='L'){ printf("玩家胜利"); } elseif(case_win(userinput,pcinput)=='R'){ printf("电脑胜利"); } else{ printf("双方平局"); } printf("\n"); printf("\n"); printf("--------------------"); printf("\n"); printf("\n"); printf("三秒后继续..."); Sleep(1000); printf("二秒后继续..."); Sleep(1000); printf("一秒后继续..."); Sleep(1000); system("cls"); main(); } return0; }
函数实现-判断输入
当参数inputnum为1,2,3时,进行对应的打印操作,如果有误在Main方法中清屏递归
intechoinput(intinputnum){ intreslut=0; switch(inputnum){ case1: printf("(石头)"); break; case2: printf("(剪刀)"); break; case3: printf("(布)"); break; default: printf("(输入有误)"); reslut=1; break; } returnreslut; }
逻辑函数-判断输赢
charcase_win(intleft,intright){ charreslut; /* *声明 *石头->1 *剪刀->2 *_布->3 */ /* *规则: *石头->剪刀 *剪刀->布 *布->石头 */ /*判断,左边是玩家*/ if(left==right){ reslut='P'; } else{ if(left==1){ if(right==2){ reslut='L'; } elseif(right==3){ reslut='R'; } } elseif(left==2){ if(right==1){ reslut='R'; } elseif(right==3){ reslut='L'; } } elseif(left==3){ if(right==1){ reslut='L'; } elseif(right==2){ reslut='R'; } } } returnreslut; }
实现逻辑函数的返回值
/* 当返回值reslut为'L'时,玩家胜利 当返回值reslut为'R'时,电脑胜利 否则双方平局 */
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。