手把手教会你猜数字游戏

前言:今天我们将学习用代码来制作猜数字小游戏


废话不多说让我们开始今天的学习吧!👊

猜数字游戏,我们一打开就能弹出菜单进行选择进入游戏或者退出游戏。那么此时我们应该用一个do...while循环,因为它的特点是先执行一次再进行判断。同时用一个函数来实现菜单的功能

#include <stdio.h>

 void  menu()

{

    printf("#################");

    printf("###1.play     0.exist###");

    printf("#################");

}

int main ()

{

   menu();

   int input = 0;

    do

    {

        printf("请选择:>");

        scanf("%d",&input);

         switch(input)

          {

            case 1:

            printf("登入成功");

             break;

             case 0;

             printf("退出游戏");

             break;

            default :

            printf("输入错误,请重新输入");

            break;

           }

        

     }while(input);

     return 0;

}

以上是第一部分的实现,接下来对游戏的实现来写代码


这里呢我们将拿取一小部分来进行讲解

case 1:

game();

将case 1改为这种。同时在main函数之前来写game函数l.在game函数中我们要设置随机数,此时我们要用到库函数rand,此时我们要用到MSDN对rand进行查找

c22410c8195449e28266463e0627d470.png

 在这里我们会发现rand没有参数,并且返回值是int类型。rand是库函数,在使用时要引用头文件stdlib.h。然后继续往下看我们会发现

3fa2a1dd55254f14ac43b1c6794d3295.png

 在使用rand之前我们要使用srand。对于srand我们依旧陌生,没事没事,再次打开我们的MSDN来对srand的用法进行查找

7a2918c370484cc9aae76ebae28107e7.png

while(1)

{

   int guess = 0;

    scanf("%d",&guess);

    if(guess>ret)

    {

          printf("猜大了");

     }

    else if(guess<ret)

   {

       printf("猜小了");

    }

    else

   {

        printf("恭喜你猜对了");

        break;

    }

}

 从MSDN的查找我们会发现srand没有返回值,但是有参数。使用时同样要引用stdlib.h头文件。

解决完这两个问题,我们来继续写game函数

void game()

{

   srand(100);

   int ret = rand();

}

但我们定义完game函数后,再进行整段代码的运行会发现,srand的参数放为100时,代码运行结果依旧为同一个数。将参数改为200时发现代码运行结果虽然改变了但依旧是同一个数。所以我们就可以知道srand的参数应该要放一个可以改变的量。那什么量在一直不断的改变呢?没错就是时间戳。百度搜索走起

92b909cdeda04136801c3de6699f6d40.png

 这就是时间戳,那么我们该用哪个变量来表示呢?没错就是time,time也是一个库函数,我们一起来用MSDN来对它的功能进行查找吧

77dae257cb4d4f3c8b91b95ba8258f6d.png

 3858cc1694184613ac96210dbc22d320.png

 time的返回类型是time_t,参数是time_t。同时在下面remarks中我们可以知道time的参数可以为空,并且在使用时要引用头文件time.h

void game()

{

    srand((unsigned int)time(NULL));

    int ret = rand();

}

当我们把代码运行时,会发现,产生的随机数字很大并且非常快的点的话会产生相同的数。那么此时我们再将代码进行改进。

产生的数字很大,我们模100,我们会得到0~99的数字,再加一得到1~100。非常快的点还有产生相同的数,这种情况的话我们要把srand放在主函数中,这样就不会出现这种情况

void game()

{

    srand((unsigned int)time(NULL);

    int ret = rand();

}


ok,这里我们已经处理完随机数,接下来处理猜数字的步骤。

while(1)

{

   int guess = 0;

    scanf("%d",&guess);

    if(guess>ret)

    {

          printf("猜大了");

     }

    else if(guess<ret)

   {

       printf("猜小了");

    }

    else

   {

        printf("恭喜你猜对了");

        break;

    }

}

这里是一次进行比较,要进行多次的话,要使用while循环。OK,以上就是我们的分析,下面直接上代码。

#define_CRE_SECURE_NO_WARNINGS.

include <stdio.h>

#include <stdlib.h>

 void  menu()

{

    printf("#################");

    printf("###1.play     0.exist###");

    printf("#################");

}

void game()

{

    int ret = rand()%100+1;

    while(1)

 

 {

 

       int guess = 0;

 

        scanf("%d",&guess);

 

         if(guess>ret)

        {

          printf("猜大了");

       }

     else if(guess<ret)

     {

          printf("猜小了");

     }

    else

    {

        printf("恭喜你猜对了");

        break;

    }

 

  }

}

int main ()

{

   menu();

   int input = 0;

    do

    {

        printf("请选择:>");

        scanf("%d",&input);

         switch(input)

          {

            case 1:

            printf("登入成功");

             break;

             case 0;

             printf("退出游戏");

             break;

            default :

            printf("输入错误,请重新输入");

            break;

           }

        

     }while(input);

    srand((unsigned int)time(NULL);

     return 0;

}


好哒以上就是猜数字游戏的实现。

创作不易还望各位看官老爷点点赞😘😘喜欢就点个关注噢,今天的内容就到这结束啦🤗🤗

 

 

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
数字孪生机械臂建模是将实际机械臂的物理特性和运动学特性用数字化的方式进行建模,并将其应用于仿真、控制等领域。本文将手把手教你数字孪生机械臂建模的步骤。 1. 确定建模目的 数字孪生机械臂建模的目的可以是仿真、控制、优化等。因此,在开始建模之前,需要明确建模的目的,以便确定建模的范围和要素。 2. 收集机械臂数据 为了建立数字孪生机械臂模型,需要收集机械臂的数据。这包括机械臂的结构图、物理特性参数、传感器数据、控制器数据等。收集的数据越详细,建模的准确性就越高。 3. 建立机械臂模型 在建立机械臂模型之前,需要选择合适的建模工具。常用的建模工具包括SolidWorks、CATIA、AutoCAD等。建立机械臂模型时,需要考虑机械臂的结构、运动学、动力学等因素。 4. 进行仿真分析 建立机械臂模型后,需要进行仿真分析。常用的仿真软件包括MATLAB/Simulink、ADAMS、ANSYS等。仿真分析可以验证机械臂模型的准确性,并为后续的控制和优化提供基础。 5. 进行控制和优化 通过数字孪生机械臂模型,可以进行控制和优化。控制可以通过PID控制、模糊控制、神经网络控制等方式实现。优化可以通过遗传算法、粒子群算法等方式实现。 总结: 数字孪生机械臂建模需要收集机械臂的数据,建立机械臂模型,进行仿真分析,进行控制和优化等步骤。通过数字孪生机械臂建模,可以提高机械臂的控制和优化效率,降低成本和风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值