C语言实现与电脑进行剪刀石头布

游戏解析:

  1. 导入头文件
  2. 游戏菜单
  3. 开始游戏并对电脑输入数据
  4. 为电脑随机生成一个数据
  5. 判断输赢并输出结果

1.导入头文件

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

2.游戏菜单

void menu()//游戏菜单
{printf("  1.play   \n");printf("  0.exit   \n");
}
int main()
{int a;srand((unsigned int)time(NULL));//随机种子,让电脑可以随机生成一个值do{menu();scanf("%d", &a);switch (a){case 1:game();case 0:break;default:printf("输入错误,请重新输入。\n");}} while (a);return 0;
}

利用do while循环语句,在游戏结束时可以再次选择是否继续。switch语句选择游戏的开始与否


3.开始游戏并对电脑输入数据

游戏次数次数过的时候,屏幕上内容过多,所以在每次游戏开始的时候做一个清屏处理

void game()//游戏模块
{system("cls");//做了一个清屏处理,每次开始新游戏时,清除上一次游戏记录。int b, c;printf("游戏:剪刀石头布\n");printf("请选择你要出的手势>:\n");printf("1.石头 2.剪刀 3.布\n");scanf("%d", &c);b = rand() % 3 + 1;//产生1、2、3之间的一个随机值//printf("%d\n", b);//调试过程中以确保b的值对应且随机

4.

5.判断输赢并输出结果

选用if分支语句对根据不同的情况来输出结果

if (c == b)//开始判断输赢printf("电脑和你出了一样的手势,本局平局。\n");else if ((b - c + 3) % 3 == 1){if (b == 1)printf("你赢了,电脑出了石头。\n");else if (b == 2)printf("你赢了,电脑处了剪刀。\n");elseprintf("你赢了,电脑出了布。\n");}else{if (b == 1)printf("你输了,电脑出了石头。\n");else if (b == 2)printf("你输了,电脑处了剪刀。\n");elseprintf("你输了,电脑出了布。\n");}

6.全代码


#include<stdio.h>
#include<stdlib.h>
#include<time.h>void menu()//游戏菜单
{printf("  1.play   \n");printf("  0.exit   \n");
}void game()//游戏模块
{system("cls");//做了一个清屏处理,每次开始新游戏时,清除上一次游戏记录。int b, c;printf("游戏:剪刀石头布\n");printf("请选择你要出的手势>:\n");printf("1.石头 2.剪刀 3.布\n");scanf("%d", &c);b = rand() % 3 + 1;//产生1、2、3之间的一个随机值//printf("%d\n", b);//调试过程中以确保b的值对应且随机if (c == b)//开始判断输赢printf("电脑和你出了一样的手势,本局平局。\n");else if ((b - c + 3) % 3 == 1){if (b == 1)printf("你赢了,电脑出了石头。\n");else if (b == 2)printf("你赢了,电脑处了剪刀。\n");elseprintf("你赢了,电脑出了布。\n");}else{if (b == 1)printf("你输了,电脑出了石头。\n");else if (b == 2)printf("你输了,电脑处了剪刀。\n");elseprintf("你输了,电脑出了布。\n");}}int main()
{int a;srand((unsigned int)time(NULL));//随机种子,让电脑可以随机生成一个值do{menu();scanf("%d", &a);switch (a){case 1:game();case 0:break;default:printf("输入错误,请重新输入。\n");}} while (a);return 0;
}

到这简单的一个石头剪刀布,就完成了。欢迎各位大佬来点评点评!这对还处于小白的我,帮助是非常大的。


C语言小游戏“剪刀石头布”相关推荐

  1. c语言小游戏代码矿井逃生_如何选择编程语言和逃生教程炼狱

    c语言小游戏代码矿井逃生 A few weeks ago, I posted about my experience attempting to learn JavaScript, C#, Pytho ...

  2. c语言min函数_C语言探索之旅 | 第一部分第十课:第一个C语言小游戏

    内容简介 前言 准备工作和建议 我的代码 改进方案 第一部分第十一课预告 1. 前言 上一课是 C语言探索之旅 | 第一部分第九课:循环语句 . 经过前面这么多课的努力,我们终于迎来了第一个比较正式的 ...

  3. C语言小游戏:文字冒险游戏

    这是一个用Dev新写的游戏:冒险4.0,可选角色,可买彩票,可抽奖... 资源我放在了C语言小游戏.文字冒险-cocos2D文档类资源-CSDN文库,适合初学者学习

  4. C语言小游戏-五子棋

    C语言小游戏-五子棋 全部代码如下: #include <easyx.h> #include <graphics.h> #include <conio.h> #in ...

  5. C语言小游戏设计报告

    C语言小游戏设计报告 课程设计名称:贪吃蛇小游戏 专业班级:计科15-2 学号:150809229 姓名:XXX 一.设计目标 通过设计,培养学生对电脑的动手能力,使学生巩固<C语言程序设计&g ...

  6. C语言小游戏大全,C语言贪吃蛇小游戏(附源码)

    一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...

  7. C语言小游戏,数字炸弹,手动设置炸弹的值和回合数。

    C语言小游戏,数字炸弹,手动设置炸弹的值和回合数. 效果图: 代码部分: #include <stdio.h> void main() {int a,b;int d=35; //在这里手动 ...

  8. c语言课时设计猜坐标游戏,c语言小游戏课程设计报告.docx

    c语言小游戏课程设计报告 中国地质大学 本科生课程论文封面 课程名称c语言课程设计 教师姓名陈喆老师 本科生姓名周宜诺 本科生学号XX 本科生专业土地资源管理 所在院系公共管理学院 类别: 日期: 课 ...

  9. c语言小游戏-飞机大战

    今天我们来尝试用easyx图形库实现c语言小游戏-飞机大战(源代码和图片已经在结尾给出) 先引用头文件 #include<stdio.h> #include<time.h>// ...

最新文章

  1. C#创建和调用DLL
  2. R语言实现多线性回归模型预测时间序列数据 MLR models in R
  3. docker常用命令(总结)
  4. 第一周作业--软件过程与项目管理
  5. Luogu2543[AHOI2004]奇怪的字符串 (动态规划 LCS)
  6. IP defragment
  7. Linux 更新 CPU microcode
  8. protues仿真闪退问题,亲测有效
  9. c语言不能正常输出128以上的ascii字符,C语言输出ASCII 219无法显示方格
  10. 企业微信API全局错误码 enum枚举类
  11. 轻量级Kubernetes k3s初探
  12. 12306验证码识别 --- 2017-12
  13. 手机浏览器获取某东cookie
  14. mpg转换成mp4,mpg转mp4方法
  15. FineCMS安装教程
  16. 教你如何使用关键词获取淘宝和天猫的商品信息
  17. (六十五)Android O StartService的 anr timeout 流程分析
  18. 树莓派 zero 通过 max31865 连接 PT100 热电阻 测量温度
  19. 操作系统春招面试复习之:操作系统概述
  20. 2020计算机保研经历

热门文章

  1. C#利用开源库OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率
  2. error C1076: 编译器限制 : 达到内部堆限制;使用 /Zm 指定更高的限制
  3. windows 任务栏右下角图标空白解决办法
  4. 利用《死亡打字员》提高程序员的命根子技能——打字速度(附游戏下载)
  5. Java实现论文查重系统
  6. 口碑订购会员营销网页无法打开,提示网页可能暂时无法连接
  7. 学报格式和论文格式一样吗_学报参考文献标准格式
  8. H5测试遇到的疑难杂症
  9. DataGrip创建数据库和导入sql文件
  10. Excel设置格式后必须双击才生效问题的解决办法