C语言实现简单的一个猜拳小游戏,供大家参考,具体内容如下
全部代码
全局变量
- 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'时,电脑胜利
- 否则双方平局
- */
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。