学习迷茫遇到问题了吗?现在关注微信公众号:C程序编程 免费获取进阶指导和学习资料!

本文福利在文末!

这是一个简单的猜拳游戏(剪子包子锤),让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。

下面的代码会实现一个猜拳游戏,让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。

启动程序后,让用户出拳,截图:

用户出拳,显示对决结果:截图:

学习迷茫遇到问题了吗?现在关注微信公众号:C程序编程 免费获取进阶指导和学习资料!

代码实现:

学习迷茫遇到问题了吗?现在关注微信公众号:C程序编程 免费获取进阶指导和学习资料!
学习迷茫遇到问题了吗?现在关注微信公众号:C程序编程 免费获取进阶指导和学习资料!
  1. 首先,我们需要定义3个变量来储存玩家出的拳头(gamer)、电脑出的拳头(computer)和最后的结果(result),然后给出文字提示,让玩家出拳。

接下来接收玩家输入:

scanf("%c%*c",&gamer);

注意:由于每次输入以回车结束,缓冲区中除了玩家输入的字母,还有回车符。回车符要跳过,以免影响下次输入。Scanf() 函数的格式控制字符串个数可以多于参数个数,scanf("%c%*c",&gamer);的作用是从缓冲区多输出一个字符(回车符),却不赋给任何变量。

玩家输入结束,使用 switch 语句判断输入内容,65(A)、97(a)、66(B)、98(b)、67(C)、99(c)、68(D)、100(d)为相应字符的ASCII码。

注意:system("cls"); 语句的作用是清屏。System() 函数用来执行 dos 命令,这里相当于在 dos 里输入 cls 命令。

  1. 玩家出拳结束,电脑开始出拳。

电脑通过产生随机数来出拳:

srand((unsigned)time(NULL));

最后通过玩家和电脑出拳的和来判断输赢:

result=(int)gamer+computer;
// ...if (result==6||result==7||result==11) printf("你赢了!");
else if(result==5||result==9||result==10) printf("电脑赢了!");
else printf("平手"); 

这是一个很巧妙的算法,玩家和电脑出拳不同,result 的值就不同,且不会重复,见下表:

  1. 每次猜拳结束,暂停并清屏,进入下一次猜拳:

system("pause>nul&&cls");

正因为你没时间学习,你才越来越忙;正因为你没钱学习,你才一直都窘迫;正因为你不屑于学习,你才突破不了;正因为你总怕上当,你才一直做不大!21世纪会淘汰有学历的人,永远不会淘汰有学习力的人!谁把学习当做最重要的事,未来就是最重要的人!财富不是装在口袋而是装在脑袋、脑袋决定你的口袋、思路指引你的方向。

如果你正在学习C/C++遇到瓶颈,迷茫,困惑,那么不妨加入一个好的圈子,跟着前辈一起交流学习,永远会比单打独斗强得多!欢迎关注一起交流学习!

c++switch实现猜拳_C语言实现人机猜拳游戏,非常适合C++小白练习的项目!相关推荐

  1. 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!

    在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...

  2. java编写电脑猜拳_Java开发实现人机猜拳游戏

    本文实例为大家分享了Java开发实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 猜拳游戏 游戏规则:人和电分别出剪刀.石头.布,直到人战胜电脑,游戏结束. 整体分析: 1.总体是一个循环 -&g ...

  3. 人机猜拳代码python_python实现人机猜拳小游戏

    今天的这篇文章呢是对人机猜拳小游戏--石头剪刀布的一个描述以及代码展现 石头剪刀布游戏代码的简介:关于石头剪刀布这个小游戏,大致得到思路就是,玩家出一个手势,然后电脑再随机出一个手势,最后再判断是玩家 ...

  4. java递归排雷_C语言实现扫雷小游戏

    源代码链接:https://github.com/Sasura321/Minesweeper 扫雷游戏也算是一个简单的小项目,这儿是之前写的代码,来写成博文回顾一下.首先,代码要实现几个功能: 第一下 ...

  5. c语言中switch语句流程图_C语言:C语言保留字(关键字)

    保留字(reserved word) 保留字又称关键字. 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用. 每种程序设计语言都规定了自己的一套保留字. 例如:BASIC语言规 ...

  6. switch 条件判断_C语言学习第7篇---C语言三大结构之一判断结构

    if语句分析 1.if语句用于根据条件选择执行语句 2.else不能独立存在且总是与它最近的if想匹配 3.else语句后可以接其他if语句 if语句中零值比较的注意点 ---bool型变量应该直接出 ...

  7. c语言写贪吃蛇什么水平_C语言实现贪吃蛇游戏(VC6.0)

    #include#include#include#include #define U 1#define D 2#define L 3#define R 4//蛇的状态,U:上 :D:下:L:左 R:右 ...

  8. 学习记录_C语言打砖块小游戏

    第一次体验到了写代码一上午,修BUG修一天的感觉.但还有一个BUG始终不知道如何解决,那便是如果额外产生的小球触碰到礼盒砖块(会产生额外球),便会在左上角出现隐形球.无奈只好将礼盒砖块改为一个,并将存 ...

  9. C语言实现人机五子棋

    C语言实现人机五子棋 游戏效果预览: 百度云盘:链接:https://pan.baidu.com/s/1Ftun17GMOWwT2u0qk0TNdA 密码:3c1p 接触C语言刚好一年了,也步入了大二 ...

最新文章

  1. HDU 5385 The path(贪心、构造、最短路径树)
  2. 提高ADO性能的优秀经验
  3. 【深度学习】深入浅出数字图像处理基础(模型训练的先修课)
  4. Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式、清除原有图像、设置横坐标显示文字/旋转角度、添加图例、绘图布局自动调整、图像显示、图像暂停)
  5. 密码学 / 哈希算法
  6. java 友元_C++ 友元函数 | 菜鸟教程
  7. 阿里第一颗芯片问世,平头哥发布最强AI芯片含光800
  8. python里x.pow2_带有Python示例的math.pow()方法
  9. 如何获取Agile PLM Business Object 对应Agile对象的属性?
  10. 对java的final,finally,finalize应用场景,你用对了吗
  11. 基于WebQQ3.0协议写一个QQ机器人
  12. php课程 10-35 php实现文件上传的注意事项是什么
  13. ftp 工具_ftp,win7的ftp工具
  14. java inputstream编码格式_纯文本-FileInputStream的编码与解码方式
  15. Deeping Learning学习与感悟——《深度学习工程师》_1
  16. Chrome笔试平台 摄像头无法开启 | 摄像头图像黑屏 问题解决
  17. 【工业互联网】漫谈“工业互联网”与“智能制造”
  18. 6-7 BMI计算(类与对象) (10分)
  19. Python程序语句
  20. ae插件form_「ae插件」十款超受欢迎的ae插件,可赠送

热门文章

  1. linux 内核编号含义_如何阅读linux内核代码?
  2. [蓝桥杯][算法训练]K好数(动态规划)
  3. 计算机无法上网的软件故障,解决你99%无法联网问题,高手教你只用1招轻松搞定...
  4. BLE-NRF51822教程1-常用概念
  5. 计算机网络实验ifconfig,《计算机网络》操作系统网络配置实验.doc
  6. rpm mysql java 驱动_Linux下安装MySQL(rpm方式)
  7. 双系统linux长时间黑屏,win10 ubuntu 双系统安装黑屏问题
  8. java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.Driver解决办法
  9. 计算机一级考试无法显示评分,计算机一级评分各题标准
  10. linux 下opencv安装教程,linux 下 opencv安装