我是靠谱客的博主 土豪裙子,最近开发中收集的这篇文章主要介绍吊死人小游戏 1.0版本,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

游戏名称:

吊死人小游戏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
nnnnn");
}
if(x==2)
{
printf("
O
n
|
nnnn");
}
if(x==3)
{
printf("
O
n /|
nnnn");
}
if(x==4)
{
printf("
O
n /|/ nnnn");
}
if(x==5)
{
printf("
O
n /|/ n / nnn");
}
if(x==6)
{
printf("
O
n /|/ n //nnn");
}
if(x==7)
{
printf(" -O
n|/|/ n|//n ____ nn");
}
}

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

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<<"nnnnn";
}
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
nnnnn");
}
if(x==2)
{
printf("
O
n
|
nnnn");
}
if(x==3)
{
printf("
O
n /|
nnnn");
}
if(x==4)
{
printf("
O
n /|/ nnnn");
}
if(x==5)
{
printf("
O
n /|/ n / nnn");
}
if(x==6)
{
printf("
O
n /|/ n //nnn");
}
if(x==7)
{
printf(" -O
n|/|/ n|//n ____ nn");
}
}
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<<"nnnnn";
}
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.0版本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部