游戏名称:

吊死人小游戏1.0版本(4位数字版本)

游戏玩法:

每次输入一个4位数,表示你所猜4个数字。

如果你猜对了其中的几个数字,那么下方的4个问号中与你所猜对数字对应的数字将显现出来。

如果你猜错了,上方的小人将会被画上一笔。

一旦小人被画上7笔,游戏失败,结束。

如果你在小人被画上7笔之前猜对所有的数字,游戏成功,结束。

制作过程与解析:

变量

int sigui;//小人被画了几笔
char shuru;//输入的数字
int ans=4;//剩下需要猜的数字的个数
bool flag,fl;//判断是否四个数字都没猜对,判断是否至少猜对了一个数字
int bo;//判断失败或胜利

结构体

struct youxi{char shuchu;//每次输入后下方出现的问号或数字int daan;//用来存这四个数字的答案}a[10];

有了主要的变量与支撑起整个程序的结构体,接下来就是写函数啦~~

初始化函数:

void make()
{srand((unsigned)time(NULL));//随时间改变的随机值for(int i=1;i<=4;i++){a[i].daan=rand()%10;//随机生成0~9的随机数(生成答案)a[i].shuchu='?';//初始化成?}sigui=0;//小人被画的次数清零
}

小人函数(即输出被掉的小人当前的状态):

void gui(int x)
{if(x==1)//分别按照小人被画的次数来输出{printf("  O  \n\n\n\n\n");}if(x==2){printf("  O  \n  |  \n\n\n\n");}if(x==3){printf("  O  \n /|  \n\n\n\n");}if(x==4){printf("  O  \n /|/ \n\n\n\n"); }if(x==5){printf("  O  \n /|/ \n / \n\n\n");}if(x==6){printf("  O  \n /|/ \n //\n\n\n");}if(x==7){printf(" -O  \n|/|/ \n|//\n ____ \n\n");}
}

执行函数(不是最终执行):

void zhixing()
{flag=fl=0;//初始化for(int i=1;i<=4;i++){cin>>shuru;//输入每一个数字if(a[i].shuchu!='?')//如果已经猜对了{continue;}if(shuru==a[i].daan+'0')//以前没有猜对但是这次猜对了{a[i].shuchu=shuru;//赋值给输出ans--;//剩余数字减一fl=1;//至少猜对了一个}else{flag=1;  //没猜对}}if(fl==1)//如果至少猜对了一个数字{flag=0;//也算猜对了,flag清零}if(flag==1)//一个也没猜对{sigui++;//笔画加一}gui(sigui);//输出当前状态
}

输出函数(总执行函数):

void shuchu()
{zhixing();//执行输入if(sigui==0)//没用{cout<<"\n\n\n\n\n";}if(sigui==7)//如果小人已经被画上了7画{bo=1;//失败了return;//返回}if(ans==0)//所有数字都猜对了{bo=-1;//胜利了return;//返回}for(int i=1;i<=4;i++)//输出{cout<<a[i].shuchu;}cout<<endl;//换行
}

主函数:

int main()
{make();//首先初始化while(1)//创建一个死循环{shuchu();//开始执行if(bo==1)//如果失败了{cout<<"你失败了!!!\n"; //输出return 0;//结束}   else{if(bo==-1)//如果胜利了{cout<<"你赢了!!!\n";//输出return 0;//结束}}}return 0;
}

总代码:

#include<bits/stdc++.h>using namespace std;struct youxi{char shuchu;int daan;}a[10];int sigui;
char shuru;
int ans=4;
bool flag,fl;
int bo;void make()
{srand((unsigned)time(NULL));for(int i=1;i<=4;i++){a[i].daan=rand()%10;a[i].shuchu='?';}sigui=0;
}void gui(int x)
{if(x==1){printf("  O  \n\n\n\n\n");}if(x==2){printf("  O  \n  |  \n\n\n\n");}if(x==3){printf("  O  \n /|  \n\n\n\n");}if(x==4){printf("  O  \n /|/ \n\n\n\n"); }if(x==5){printf("  O  \n /|/ \n / \n\n\n");}if(x==6){printf("  O  \n /|/ \n //\n\n\n");}if(x==7){printf(" -O  \n|/|/ \n|//\n ____ \n\n");}
}void zhixing()
{flag=fl=0;for(int i=1;i<=4;i++){cin>>shuru;if(a[i].shuchu!='?'){continue;}if(shuru==a[i].daan+'0'){a[i].shuchu=shuru;ans--;fl=1;}else{flag=1;    }}if(fl==1){flag=0;}if(flag==1){sigui++;}gui(sigui);
}void shuchu()
{zhixing();if(sigui==0){cout<<"\n\n\n\n\n";}if(sigui==7){bo=1;return;}if(ans==0){bo=-1;return;}for(int i=1;i<=4;i++){cout<<a[i].shuchu;}cout<<endl;
}int main()
{make();while(1){shuchu();if(bo==1){cout<<"你失败了!!!\n"; return 0;}    else{if(bo==-1){cout<<"你赢了!!!\n";return 0;}}}return 0;
}

一个小小的请求:

点个赞再走可以吗QAQ

No more······

(有2.0版本哦)

吊死人小游戏 1.0版本相关推荐

  1. 吊死人小游戏 2.0版本

    游戏名称: 吊死人小游戏2.0版本(4位数字版) 游戏玩法: 选择被吊的人物 每次输入4个数字 如果猜对其中至少一个数字,看做猜对了 如果一个也没猜中,看做猜错,被吊人物画一笔 全部猜中,并且被吊人物 ...

  2. 扫雷小游戏 2.0版本

    游戏名称: 扫雷小游戏2.0 游戏操作: 详情请见:主页->专栏->小游戏->扫雷小游戏1.0->游戏操作 创作背景: 昨天才说大概要8.21之后更新,但由于我提高组模拟赛爆0 ...

  3. java游戏+弹幕_JAVA 弹幕小游戏 1.0版本

    java 弹幕小游戏 最初版本 最近在学习javaSE,根据b站视频老师的讲解,也参考了他的代码,做了一个弹幕小游戏,也增添了一些自己的代码进去,因为只是最简单的游戏体,以后会慢慢做完整,所以如果有错 ...

  4. java 弹幕游戏_JAVA 弹幕小游戏 1.0版本

    java 弹幕小游戏 最初版本 最近在学习javaSE,根据b站视频老师的讲解,也参考了他的代码,做了一个弹幕小游戏,也增添了一些自己的代码进去,因为只是最简单的游戏体,以后会慢慢做完整,所以如果有错 ...

  5. c++小游戏[3.0版本]

    c++小游戏更新3.0啦! 这次更新增加了: 1.高精度乘法 2.转盘游戏 3.抛硬币游戏 之前的作品阅读量过5000的就那一两个...帮我搞点阅读量吧...关注的全部回关... 帮我点点吧... 所 ...

  6. 飞机大战小游戏1.0版本

    小时候大家应该都玩过飞机大战吧,这就是仿的一个飞机大战,但是没有写的很全,只能玩一次,死掉之后需要刷新页面玩第二次,话不说多,上代码: 初始页面: 整个的html代码还是很少,如下: <div ...

  7. java文字类小游戏2.0版本

    java文字类小游戏 用javaFx面板显示文字类小游戏,目前正已完成基本打斗和打怪爆出武器的开发,后续会不断更新示例图如下: 运行这个类开始代码我已上传至码云,有需要的小伙伴自行拉取代码,git项目 ...

  8. 王者荣耀小游戏1.0震撼上线!C++版

    王者荣耀小游戏1.0版本!可以关机哦! #include<bits/stdc++.h> //编个游戏,不顾一切的用万能 #include<windows.h> using na ...

  9. C++【坑人神器:绝地求生小游戏3.0】震撼上线

    绝地求生小游戏3.0版本震撼上线!!! 全新大厅系统.反外挂系统增强! 萨诺地形优化,艾伦格.米拉马增加雨天.雾天! TPP视角优化! 支持使用[蓝洞加速器]!!! #include<bits/ ...

最新文章

  1. 触手可得的云原生 | 阿里云中间件发布多项新功能
  2. STM32F1笔记(四)NVIC中断优先级管理
  3. html背景图片横屏,CSS背景颜色 背景图片 居中 重复 固定样式background经验篇
  4. 程序员,与工程师的区别在哪里? (3)
  5. 高铁车厢女童突然抽搐 护士为防其咬舌将手指放口中
  6. HDSF主要节点解说(二)工作原理
  7. 大有可为,忍不住再说下 !
  8. 服务器网站出现service,网站出现service unavailable的解决方法
  9. 正交匹配追踪算法(OMP)简介与详解
  10. MuMu模拟器忘记锁屏密码
  11. 手把手带你入门 Spring Security
  12. 北京内推 | 微软研究院科学智能中心招聘多模态学习方向研究实习生
  13. Day 05- Vue3 Vue2响应式原理
  14. uniapp获取当前位置(定位-经纬度及城市信息)
  15. XT.COM关于Coinzilla AMA直播回顾
  16. WCF学习——掀开你的盖头来
  17. php domdocument soap,在PHP中使用SoapClient从WSDL获取元素
  18. 如何关掉计算机进行中的程序,任务管理器进程哪些是可以关闭的【图文教程】...
  19. 一个好的感人故事(爱)
  20. VirtualBox虚拟硬盘文件管理

热门文章

  1. CSS常见布局的几种实现方式(面试常考)
  2. 高通camx configure_streams 初始化 和 usecase 创建流程 详解(五)
  3. Jira“消失”的24小时
  4. 半导体封装开短路测试
  5. Unity UWA内存优化总结列表
  6. linux下netlink的使用
  7. 【Python气象绘图临摹】处理数据(上):读入输出nc数据、截取夏季/冬季数据、ButterWorth带通滤波、计算方差
  8. MFC模态对话框和非模态对话框
  9. wxPython + pyOpenGL,打造三维数据分析的利器
  10. 从人被造的目的看灵魂的价值2014-07-07 唐崇荣 祷告吧