智力游戏(猜数字)

一、说说小时候:

还记得,我小时候,成天跟着小伙伴疯玩,在那个时代,没有智能手机,没有王者农药,孩子们凑在一起,最喜欢的游戏除了丢手绢躲猫猫以外,猜中指游戏可谓独得宠爱,肯定有人问,啥是猜中指游戏??
//

二、猜中指游戏:

很简单,拿出一只手,这五根手指,不管你怎么扯,怎么掰,怎么打乱顺序都行,每个人中指只有一个,排好以后,拿另一只手紧紧握住,只留几个手指“头”在外面,让别人猜,屡试不爽,童年的友谊就这么紧紧地捏在一起。

//
现在,我上了大学,走上了程序员的道路,原来,猜中指游戏可以用程序模拟编出来(开心到飞起来)。

三、猜数字游戏:

它是由计算机随机产生一个数,相当于那时候的中指,然后玩家可以来猜这个数字,难度可以设置为不同的等级(初级,中级,高级),也就是“中指依然只有一个,但其余指头个数变多了”,也许是出于小时候对猜中指游戏的热爱和着迷,以至于我没事的时候,还会打开代码玩几把。

下面,我把自己写的源代码分享给大家,俗话说,独乐乐不如众乐乐 。

四、游戏源代码分享

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

void menu1()//选择游戏是否开始菜单
{
    printf("******************************\n");
    printf("*********  1.play   **********\n");//1为开始游戏
    printf("*********  0.exit   **********\n");//0为退出
    printf("******************************\n");
}

void StartorNot()//再次询问是否真的要退出
{
    printf("\n");
    printf("********1.继续游戏***********");
    printf("\n");
    printf("********2.退出游戏***********");
    printf("\n");
    printf("请选择");
}

void menu2()
{
    printf("##############################\n");
    printf("########     1.low   #########\n");//初级
    printf("########     2.mid   #########\n");//中级
    printf("########     3.high  #########\n");//高级
    printf("##############################\n");
}

int game1()
{
    int input=0;
    int num=rand()%101;
    return num;
}
int game2()
{
    int input=0;
    int num=rand()%1000;
    return num;
}
int game3()
{
    int input=0;
    int num=rand();
    return num;
}

void  game()
{
    int difficult;
    int input=0;
    int num=0;
    menu2();
    printf("请选择游戏难度:〉");
    //menu2();
    scanf("%d",&difficult);
    switch(difficult)
    {
        case 1:num=game1();break;
        case 2:num=game2();break;
        case 3:num=game3();break;
    }
    while(1)//死循环
   {
       printf("\n");    
       printf("请输入您所猜数字:>\n");
       scanf("%d",&input);
         if(input== num)
              {
                  printf("\n");
                printf("恭喜您,答对了\n");
                  printf("\n");
                  break;
                 }
         else if(input > num)
               {
                  printf("您输入数字偏大\n");
                  printf("再接再厉哟,请重新输入");
                  printf("\n");
                }
else
     {
         printf("您输入的数字偏小\n");
         printf("猜小了呢,重新输入吧");
         printf("\n");
         }
     }
}


void remain()
{
    int input2=0;
    printf("************************************");
    printf("\n");
    printf("********您真的要退出游戏吗?*********");
    StartorNot();
    scanf("%d",&input2);
    if(input2==1)
        game();
    if(input2==0)
        return;
}
int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    printf("请选择是否开始游戏:>\n");
     do
        {
            menu1();
            scanf("%d",&input);
            switch(input)
               { 
                    case 1:game();break;
                    case 0:remain();break;
                    default:printf("输入错误\n");break;
                  }
              }while(input);
       return 0;
}

五、进入界面,程序要求用户选择是否开始游戏,通过键盘输入:

图一

(一)、若选择1,便开始玩游戏,选择游戏难度,初级,中级,还是高级

图二

1、难度选择后,便开始猜数字,若猜小了、猜大了,系统都会提示用户重新输入

图三

2、直到猜对以后,系统提示恭喜您猜对了,用户选择是否进行下一局。

图四

(二)、若用户不想玩游戏,选择0,计算机提示是否真的退出游戏

图五

1、若选择1,继续游戏,便则进入游戏界面,选择难度,开始游戏

图六

2、若选择2,则按任意键退出游戏

图七

(三)若最开始用户不选1.play,也不选0.exit ,则系统提示输入错误,提醒用户重新输入

图八

五、程序分析:

对于该代码,我敢说,只要是学过C语言的人,在这里面没有不认识的语句,如果说有,那么应该就是rand()和srand,这是用于生成随机数的函数。另外,本函数主要采用switch(表达式)…case选择结构,if(表达式)…else判断结构,while(表达式)循环结构,算法相对简单,适合初学者。有利于激发初级学者的编程兴趣。

好了,到这里,又没有想玩一把的冲动勒??有的话要么就自己动手,把我这里的源代码拷下来,在VS环境下过把瘾,要么,就等过段时间俺学下前端,把它打包成软件,分享给大家吧。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值