猜数字游戏

来源:互联网 发布:安卓应用市场源码 编辑:程序博客网 时间:2024/05/26 02:20

例:系统随机生成一个数,玩家进行猜,直到猜对为止

算法思想:

首先玩家进入该游戏后也要进行选择,是玩还是退出,可以将此做出一个菜单函数,供玩家参考,让玩家进行选择

当玩家选择玩的时候,系统生成随机数,玩家开始猜,猜对了,该局游戏即结束,猜大或猜小,系统要给予提示,直到玩家才对为止。

当玩家玩玩一次后,还想继续玩或退出,此时要不断的循环供玩家选择。

程序代码:
void menu()
{
 printf("*******************************\n");
 printf("********1.开始游戏 0.退出******\n");
 printf("*******************************\n");
}
void game()
{
 int num = 0;
 //srand((unsigned int)time(NULL));
 //时间很近,所以把该语句放在主函数中。
 int n = rand() / 100+1;//产生1-100之间的随机数
 while (1)
 {
  printf("请输入数字:");
  scanf("%d", &num);
  if (n == num)
  {
   printf("猜对了\n");
   break;
  }
  else if (n > num)
  {
   printf("猜小了\n");
  }
  else
  {
   printf("猜大了\n");
  }
 }
}
int main()
{
 srand((unsigned int)time(NULL));
 int input = 0;
 do
 {
  menu();
  printf("请选择:");
  scanf("%d", &input);
  switch (input)
  {
  case 1:
   game();
   break;
  case 0:
   printf("退出游戏");
   break;
  default:
   printf("选择错误,请重新输入\n");
   break;

  }
 } while (input);

 system("pause");
 return 0;
}

注意:在运用rand()生成随机数时,要先用srand()进行调用设置随机数的生成起点,当起点不同,生成的随机数序列不同,所以不论什么时候执行该函数,起点都要

有变化,所以运用时间函数time()做srand的参数,time返回的数计算机生成的时间1970年1月1日0时0分0秒到执行到调用该函数处所用的时间,所以一直是变化的,

这样每次执行系统都会生成不同的随机数序列。

否则每次执行系统都会生成相同的随机数序列


原创粉丝点击