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,一经查实,立即删除!

相关文章

php实现防止sql注入的通用方法,PHP实现防止sql注入的通用方法

function inject_check($sql_str) {return eregi(select|insert|and|or|update|delete|\|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile, $sql_str);}function verify_id($idnull) {if(!$id) {exit(没有提交参数&#xff01;);} elseif(inject_check($id)) {exit(提交的参…

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

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

学php要懂js吗,js要怎么学

有朋友说想要一个学习javascript&#xff0c;但是不知道如何去学习。本篇文章中小编总结了JavaScript重要知识点以及学习方法&#xff0c;有点长&#xff0c;但是很好用&#xff0c;希望对你有所帮助。this&#xff1a;可以开个坑好好研究研究七、了解nodenode现在可以说是前端…

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;安全…

oracle regr,oracle 分析函数

一、Oracle分析函数入门分析函数是什么&#xff1f;分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数&#xff0c;它可以在数据中进行分组然后计算基于组的某种统计值&#xff0c;并且每一组的每一行都可以返回一个统计值。分析函数和聚合函数的不同之处是什么&a…

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

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

apache mesos_在Twitter上使用Apache Mesos和Apache Aurora进行资源调度和任务启动

apache mesos播客的第23集是与Bill Farner的谈话 Bill解释了Twitter如何使用Apache Mesos和Apache Aurora在硬件上获得更多收益&#xff0c;并通过在整个基础架构中利用细粒度的资源调度来节省工程时间&#xff08;开发和运营&#xff09;。 Bill谈到了他在Borg上与Google一起…

oracle大于当前月,oracle 现阶段年 当前月 当前周 当前日

当前位置:我的异常网 数据库 oracle 现阶段年 当前月 当前周 当前日oracle 现阶段年 当前月 当前周 当前日www.myexceptions.net 网友分享于&#xff1a;2013-08-16 浏览&#xff1a;296次oracle 当前年 当前月 当前周 当前日Oracle 当前月 当前周 当前年 2010-12-15 15:54…

C语言函数库:动态库和静态库优缺点比较

函数的重要性我们在编写一个C语言程序的时候&#xff0c;经常会遇到好多重复或常用的部分&#xff0c;如果每次都重新编写固然是可以的&#xff0c;不过那样会大大降低工作效率&#xff0c;并且影响代码的可读性&#xff0c;更不利于后期的代码维护。我们可以把他们制作成相应的…

mysql重置增量_摆脱困境:在每种测试方法之前重置自动增量列

mysql重置增量当我们为将信息保存到数据库的功能编写集成测试时&#xff0c;我们必须验证是否将正确的信息保存到数据库。 如果我们的应用程序使用Spring Framework&#xff0c;则可以为此目的使用Spring Test DbUnit和DbUnit 。 但是&#xff0c;很难验证是否在主键列中插入…

oracle itpub论坛,Oracle Service

本帖最后由 sunyunyi 于 2018-11-10 10:33 编辑目前就职海天起点&#xff0c;服务于电力行业&#xff0c;致力于帮助客户解决生产过程中出现的问题&#xff0c;提高生产效率, 爱好书法&#xff0c;周易&#xff01;愿结交志同道合之士&#xff01;共同进步&#xff01; 微信号&…

Linux C语言结构体

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

ejb构建_如何使用单例EJB,Ehcache和MBean构建和清除参考数据缓存

ejb构建在本文中&#xff0c;我将介绍如何使用单例EJB和Ehcache在Java EE中构建简单的参考数据缓存。 高速缓存将在给定的时间段后重置自身&#xff0c;并且可以通过调用REST端点或MBean方法“手动”清除。 这篇文章实际上是建立在以前的文章中如何建立和清除与单EJB和MBean的一…

oracle中enqueue,ORACLE: Enqueue 烂笔头

Oracle 的enqueue 包含以下模式&#xff1a;模式代码解释1Null mode2Sub-Share3Sub-Exclusive4Share5Share/Sub-Exclusive6ExclusiveOracle的enqueue有如下类型&#xff1a;Enqueue 缩写缩写解释BLBuffer Cache managementBRBackup/RestoreCFControlfile transactionCICross-in…

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

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

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

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

linux6.5安装oracle,linux [CentOS 6.5]下安装oracle

一&#xff0c;安装oracle依赖包# yum install binutils compat-libstdc-33 compat-libstdc-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libai…

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;不可诱导、误导下载/跳转&…