您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
本篇文章给大家分享的是有关使用C语言怎么实现一个猜拳小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
具体内容如下
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<Windows.h> int pcinput; //电脑输入 int userinput; //用户输入 #define echo ">_ " //俺觉得好看 char case_win(int left, int right);//判断哪边赢了;left是玩家,right是电脑 int echoinput(int inputnum);//根据两个全局变量输出对应进行的操作 int main() { 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("玩家胜利"); } else if(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(); } return 0; } char case_win(int left, int right) { char reslut; /* *声明 *石头->1 *剪刀->2 * _布->3 */ /* * 规则: * 石头->剪刀 * 剪刀->布 * 布->石头 */ /*判断,左边是玩家*/ if (left == right) { reslut = 'P'; } else { if (left == 1) { if (right == 2) { reslut = 'L'; } else if (right == 3) { reslut = 'R'; } } else if (left == 2) { if (right == 1) { reslut = 'R'; } else if (right == 3) { reslut = 'L'; } } else if (left == 3) { if (right == 1) { reslut = 'L'; } else if (right == 2) { reslut = 'R'; } } } return reslut; } int echoinput(int inputnum) { int reslut = 0; switch (inputnum) { case 1: printf("(石头)"); break; case 2: printf("(剪刀)"); break; case 3: printf("(布)"); break; default: printf("(输入有误)"); reslut = 1; break; } return reslut; }
全局变量
int pcinput; //电脑输入 int userinput; //用户输入
函数定义
char case_win(int left, int right);//判断哪边赢了;left是玩家,right是电脑 int echoinput(int inputnum);//根据两个全局变量输出对应进行的操作
打印 规则和输入提示
printf("规则\n\n"); puts("1.石头\n"); puts("2.剪刀\n"); puts("3.布 \n"); printf("%s你的输入:", echo); scanf_s("%d", &userinput); printf("\n");
Main方法中的主要逻辑
int main() { 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("玩家胜利"); } else if(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(); } return 0; }
函数实现-判断输入
当参数inputnum为1,2,3时,进行对应的打印操作,如果有误在Main方法中清屏递归
int echoinput(int inputnum) { int reslut = 0; switch (inputnum) { case 1: printf("(石头)"); break; case 2: printf("(剪刀)"); break; case 3: printf("(布)"); break; default: printf("(输入有误)"); reslut = 1; break; } return reslut; }
逻辑函数-判断输赢
char case_win(int left, int right) { char reslut; /* *声明 *石头->1 *剪刀->2 * _布->3 */ /* * 规则: * 石头->剪刀 * 剪刀->布 * 布->石头 */ /*判断,左边是玩家*/ if (left == right) { reslut = 'P'; } else { if (left == 1) { if (right == 2) { reslut = 'L'; } else if (right == 3) { reslut = 'R'; } } else if (left == 2) { if (right == 1) { reslut = 'R'; } else if (right == 3) { reslut = 'L'; } } else if (left == 3) { if (right == 1) { reslut = 'L'; } else if (right == 2) { reslut = 'R'; } } } return reslut; }
实现逻辑函数的返回值
/* 当返回值reslut为'L'时,玩家胜利 当返回值reslut为'R'时,电脑胜利 否则双方平局 */
以上就是使用C语言怎么实现一个猜拳小游戏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。