【C语言】“猜数字”游戏来了!

来源:互联网 发布:知乎 葛巾 真人照 编辑:程序博客网 时间:2024/06/08 14:29

  大家肯定都爱玩游戏,今天我就来满足一下大家:实现一个“猜数字”小游戏。
  实现思路:
  每开始玩一个游戏,刚进去肯定有菜单供玩家选择,由于我们今天要实现的是个小游戏,所以在菜单中设计两个选项(“开始”和“退出”)即可。“猜数字”,所要猜的数字玩家肯定事先必须不知道(不然还猜什么),所以我们打算让电脑随机产生这个数字。当游戏开始,玩家从键盘上输入某个范围内的整数,如果输入的数字比随机产生的数字大,则输出“猜大了”,如果前者比后者小,则输出“猜小了”,当前者等于后者,则输出“猜对了”,并“弹出”菜单,选择继续玩或者退出。
  参考代码:

#include<stdio.h>#include<time.h.>#include<stdlib.h>void menu()//菜单{    printf("*********************\n");    printf("****1.play 0.exit****\n");//选择“1”表示“玩游戏”    printf("*********************\n");//选择“0”表示“退出”}void play_game()//玩游戏{    int rand_num = rand() % 100;//随机产生0~99范围内的整数    int tmp = 0;    while (1)    {        printf("请输入你猜的数字:");        scanf("%d", &tmp);        if (tmp == rand_num)        {            printf("猜对了\n");            break;        }        else if (tmp > rand_num)        {            printf("猜大了\n");        }        else        {            printf("猜小了\n");        }    }}int main(){    int input = 0;    srand((unsigned int)time(NULL));//srand是随机数发生器的初始化函数    //为了防止每次玩游戏时随机产生的数字重复,常使用time函数获得系统时间以初始化    do    {        menu();        printf("请选择:");        scanf("%d", &input);        switch (input)        {        case 1:            play_game();            break;        case 0:            exit(EXIT_SUCCESS);            break;        default://当输入菜单中不存在选项时,提醒玩家“选择错误”            printf("选择错误.\n");            break;        }    } while (input);    system("pause");    return 0;}

  Have a try !
  游戏界面:
  ⑴选择“1”选项,开始玩游戏:
  这里写图片描述
  ⑵因为随机产生的数字在0~99范围内,所以建议采用“折中法”,输入该范围数字的中位数,逐渐根据提示缩小范围。
  这里写图片描述
  ⑶此时范围为50~75:
  这里写图片描述
  ⑷此时范围为50~63:
  这里写图片描述
  ⑸此时范围为57~63:
  这里写图片描述
  ⑹此时范围为57~60:
  这里写图片描述
  ⑺这次终于猜对了!结果是58:
  这里写图片描述
  是不是挺有意思的。当然,如果大家觉得0~99这个范围太小,你们可以设计成更大范围(更刺激了),但是还是建议每次猜数都采用“折中法”,这样可以最大限度地缩小范围,从而尽快地猜出目标数。

原创粉丝点击