我是靠谱客的博主 丰富豌豆,最近开发中收集的这篇文章主要介绍C语言实现简单猜拳小游戏,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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("规则nn");
 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等待电脑结果.", 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("规则nn");
puts("1.石头n");
puts("2.剪刀n");
puts("3.布 n");
printf("%s你的输入:", echo);
scanf_s("%d", &userinput);
printf("n");

Main方法中的主要逻辑

int main() {
 printf("规则nn");
 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等待电脑结果.", 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语言实现简单猜拳小游戏的全部内容,希望文章能够帮你解决C语言实现简单猜拳小游戏所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部