C/C++制作人机猜拳小游戏

C语言学完了之后总是感觉做不出什么有意思的东西,今天我们就来做一个好玩的小游戏试试。

#include<stdio.h>
#include<time.h>
#include<conio.h>
#include <windows.h>void win(int a, int b);
void wait();
void softgame();
void lefttime();
void gamestart();
void readf();
void writef();
void startf();
void zhifen();struct game
{int i;char name[10];
};
struct game machine[3] = { {1,"石头"},{2,"剪刀"},{3,"布"} };char nname[] = "";  // write
int zfen;           // 积分write
char name[18];      // read
int zhif;           // 积分readint main()
{srand((unsigned)time(0));startf();return 0;
}void zhifen()//名字积分
{printf("游戏前请输入名字(不能空格)和积分\n");printf("输入名:");scanf("%s", &nname);printf("输入积分:");scanf("%d", &zfen);
}void readf()//read文件
{FILE *file;file = fopen("user.txt", "r");if (file == NULL){printf("没文件,已建,请重新打开一次");FILE *fp;fp = fopen("user.txt", "w");fclose(fp);getch();return;}if (fscanf(file, "%s %d", &name, &zhif) != EOF){fscanf(file, "%s %d", &name, &zhif);printf("\n");printf("名:%s 积分:%d", name, zhif);printf("\n");}else {printf("文档为空\n");zhifen();writef();readf();gamestart();return;}if (zhif < 10){printf("任意键继续\n");getch();system("cls");printf("积分为0\n");zhifen();writef();readf();gamestart();return;}fclose(file);gamestart();
}void writef()//write
{FILE *file;file = fopen("user.txt", "w");if (file == NULL){printf("不能打开文件!");return;}fprintf(file, "%s %d", nname, zfen);fclose(file);
}void startf()
{//writef();readf();
}
void gamestart()//游戏开始
{while (1){//wait();printf("--------------------------------------\n");printf("和\"C语言狗\"玩石头、剪刀、布游戏\n\n");softgame();}
}void softgame()//玩家选出
{char k;int mycard;int num;printf("你选择出1石头2剪刀3布:");scanf("%s", &k);switch (k){case '1':mycard = 7;printf("你出了:石头!\n");break;case '2':mycard = 6;printf("你出了:剪刀!\n");break;case '3':mycard = 5;printf("你出了:布!\n");break;default:system("cls");lefttime();/*  return;  */gamestart();break;}num = rand() % 3;printf("电脑出了:%s\n", machine[num].name);win(machine[num].i, mycard);/*printf("\n\n");printf("......按任意键进行下一次对决......\n");getch();system("cls");*/
}void wait()
{printf("\n\n");printf("......按任意键进行下一次对决......\n");getch();//  system("cls");
}void win(int a, int b)//判定胜负
{int sum;sum = a + b;if (sum == 8){printf("***竟然是平局!***");readf();}elseif (sum == 7 || sum == 10){printf("***很遗憾,\"C语言狗\"胜了!***");zfen = zhif - 10;strcpy(nname, name);writef();readf();}else{printf("***恭喜,你胜了!***");zfen = zhif + 10;strcpy(nname, name);writef();readf();}
}
void lefttime()
{int i = 3;for (int a = 0; a < 3; a++){printf("选择错误,请输入1或2或3选择\n");printf("%d秒后继续操作", i);i--;Sleep(1000);system("cls");}printf("\n");printf("名:%s 积分:%d", name, zhif);printf("\n");
}

这个就可以玩了,大家可以试试看哦!!!

关注它,

你就可以得到

很多你想要的C/C++

开发工具及学习视频资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339292.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

r 数据框选子集_在带有组合框的值列表的下拉列表中显示显示属性的子集

r 数据框选子集组合框值列表&#xff08;inputComboboxListOfValues&#xff09;应该是使用LOV的非常流行的ADF Faces组件。 坦白说&#xff0c;这是我最喜欢的值列表方法。 在这篇简短的文章中&#xff0c;我将重点介绍ADF开发人员经常忽略的一项功能。 如果默认情况下定义了L…

1024到了,默默给自己点个赞!

只有程序员才能看懂的搞笑图片写了一大堆SQL语句&#xff0c;自己都不敢相信居然运行成功了找bug给客户演示&#xff0c;我的bug没被发现正则表达式返回预期效果正则表达式没有返回预期效果上线两天了&#xff0c;客户突然要改需求&#xff0c;我去年买了个表一口气写完代码&am…

input发送a.jax_Java EE 7 / JAX-RS 2.0:具有自定义HTTP标头的简单REST API身份验证和授权...

input发送a.jax在使用已可用的HTTP协议实施Web服务时&#xff0c;REST带来了很多便利。 通过仅通过指定的URL触发GET&#xff0c;POST和其他HTTP方法&#xff0c;您将确保通过REST服务的响应来完成某些工作。 但是&#xff0c;无论REST给开发人员带来了什么便利&#xff0c;安全…

C语言的main函数,究竟有几种写法?

从学习C语言开始就一直写个一个函数&#xff0c;那么你知道它的标准写法什么什么样吗&#xff1f;main函数&#xff0c;又称主函数&#xff0c;是程序执行的起点&#xff0c;我们平时写的main函数是什么样呢&#xff1f;所以说&#xff0c;其他的写法并不符合标准&#xff0c;有…

Linux C语言结构体

前面学习了c语言的基本语法特性&#xff0c;本节进行更深入的学习。预处理程序。 编译指令: 预处理, 宏定义&#xff0c;建立自己的数据类型&#xff1a;结构体&#xff0c;联合体&#xff0c;动态数据结构c语言表达式工具 逻辑运算符&#xff1a; & | ^ ~ << >&g…

Linux C语言编程基本原理与实践

重识C语言C语言是一种通用的, 面向过程的编程语言, 在系统与应用软件的开发应用较广是人类和计算机交流的一种方式ANSI C&#xff1a; 是C语言的标准, 为了避免各开发商用的C语言语法的差异C语言的特点: 简单, 快速, 高性能, 兼容性好, 功能强大, 易于学习C语言适合做什么Linux…

listview属性_属性提取器:获取ListView即时更新其元素的最佳方法

listview属性这篇文章是关于如何处理JavaFX ListViews和TableViews的&#xff0c;以及如何通过这些控件了解所包含元素的更改内容。 我想知道为什么在相关书籍中没有找到关于以下模式的任何信息&#xff0c;因为这是一个非常关键的机制。 那里的许多帖子建议通过调用以下命令来…

30分钟了解C 11新特性

什么是C 11C 11是曾经被叫做C 0x&#xff0c;是对目前C 语言的扩展和修正&#xff0c;C 11不仅包含核心语言的新机能&#xff0c;而且扩展了C 的标准程序库&#xff08;STL&#xff09;&#xff0c;并入了大部分的C Technical Report 1&#xff08;TR1&#xff09;程序库(数学的…

外链分享已取消无法下载怎么办_微信升级外链规范:“砍一刀”、“帮我加速吧”将被封禁...

北京商报讯(记者魏蔚)朋友圈、微信群遍布的购物分享链接&#xff0c;再度受到微信严控。10月18日晚间&#xff0c;微信宣布&#xff0c;外链规范即将进行更新升级&#xff0c;新增和细化多项外链规则&#xff0c;包括不可违规使用用户头像&#xff1b;不可诱导、误导下载/跳转&…

ef ddl生成不了脚本_如何使用Hibernate从Play生成DDL脚本! 框架项目

ef ddl生成不了脚本好的&#xff0c;因此您一直在使用hibernate属性名称“ hibernate.hbm2ddl.auto ” value “ 更新 ”来不断更新数据库模式&#xff0c; 但是现在您需要一个完整的DDL脚本吗&#xff1f; 从您的Global Class onStart中使用此方法来导出DDL脚本。 只需为其提…

vue php企业站案例,vue 开发企业微信整合案例分析

本文实例讲述了vue 开发企业微信整合。分享给大家供大家参考&#xff0c;具体如下&#xff1a;概述手机端程序可以和企业微信进行整合&#xff0c;我们也可以使用企业微信JSSDK功能&#xff0c;实现一些原生的功能。整合步骤在整合之前需要阅读 整合步骤。1.引入JSSDKnpm i -S …

Invalid Gradle JDK configuration found_带你了解Gradle编译速度是如何提升70%的

前言Gradle作为一款基于Groovy语言的构建工具&#xff0c;已经吸引众多的ant&#xff0c;maven使用者转投gradle的怀抱&#xff0c;和Gradle相比&#xff0c;ant显得冗余复杂&#xff0c;maven显得有些死板落后&#xff0c;而gradle基于DSL语法&#xff0c;特点明显&#xff1a…

【游戏开发】C 游戏编程实例

网络游戏开发分为&#xff1a;服务器编程、客户端编程、人工智能、数据库管理、游戏策划、美工设计、音乐特效等。大型游戏往往需要团队合作开发&#xff0c;因此面向对象的编程思想在网络游戏中得到了广泛应用。游戏开发基本流程&#xff1a;游戏初始化——游戏实现——游戏结…

linux内核3.14.4,Linux内核4.14.14,4.9.77,4.4.112和3.18.92更新发布

原标题&#xff1a;Linux内核4.14.14&#xff0c;4.9.77&#xff0c;4.4.112和3.18.92更新发布导读正如所承诺的&#xff0c;Linux内核维护者Greg Kroah-Hartman今天发布了针对长期支持的Linux 4.14,4.9,4.4和3.18内核系列的一系列新更新。这些新内核在他们之前发布的一个星期后…

springboot 获取登录浏览器_java项目部署到linux服务器,微信小程序后台springboot项目部署到云服务器(图文详解)...

前面给大家讲了一个点餐系统的开发&#xff0c;包括java点餐后台和微信点餐小程序。可是都是教大家如何在本地把项目跑起来。今天就来教大家如何把这个点餐系统部署到服务器&#xff0c;实现商用。传送门点餐系统的开发&#xff0c;java后台微信小程序&#xff1a;https://blog…

spring体系结构_了解Spring Web应用程序体系结构:经典方法

spring体系结构每个开发人员必须了解两件事&#xff1a; 架构设计是必要的。 花哨的体系结构图没有描述应用程序的真实体系结构。 真正的体系结构是从开发人员编写的代码中找到的&#xff0c;如果不设计应用程序的体系结构&#xff0c;最终将得到一个具有多个体系结构的应用…

C 网络库都干了什么?

虽然市面上已经有很多成熟的网络库&#xff0c;但是编写一个自己的网络库依然让我获益匪浅&#xff0c;这篇文章主要包含&#xff1a;TCP 网络库都干了些什么&#xff1f;编写时需要注意哪些问题&#xff1f;CppNet 是如何解决的。首先&#xff0c;大家都知道操作系统原生的soc…

iphone屏幕录制_iPhone怎么内录声音?怎么录制苹果手机内部声音?

有时我们想要对苹果手机上播放的声音进行录音&#xff0c;却不知道该如何操作。苹果手机上自带的录音软件只可以对手机外部声音进行录制&#xff0c;却无法录制自身播放的声音。其实我们可以先将苹果手机屏幕及声音先投放到电脑上&#xff0c;再通过支持内录的软件进行录音就可…

C 中命名空间的五大常见用法

译者注&#xff1a;可能很多程序员对C 已经非常熟悉&#xff0c;但是对命名空间经常使用到的地方还不是很明白&#xff0c;这篇文章就针对命名空间这一块做了一个叙述。命名空间在1995年被引入到 c 标准中&#xff0c;通常是这样定义的:命名空间定义了新的作用域。它们提供了一…

英伟达TX2烧录系统_英伟达的DPU,是想在数据中心奇袭英特尔?

热点追踪 / 深度探讨 / 实地探访 / 商务合作最近几年&#xff0c;经常关注科技圈的朋友们总会发现&#xff0c;每次遇到厂商有重大发布&#xff0c;就总能看到“颠覆”、“极致”、“革命性”等概念出现在发布会上。上周&#xff0c;iPhone12的发布现场&#xff0c;蒂姆库克就用…