我是靠谱客的博主 迷路云朵,最近开发中收集的这篇文章主要介绍C语言:使用分支与循环语句制作一个猜数字的小游戏程序设计思路:1.设计游戏菜单2.猜数字的逻辑3.设置随机数生成的范围  4.最终代码与结果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

程序设计思路:

1.电脑生成一个随机数(1-100)
2.猜数字
3.猜大了
4.猜小了
5.直到猜对,结束

1.设计游戏菜单

#include<stdio.h> 

void menu()
{
	printf("********************n");
	printf("*******1.开始*******n");
	printf("*******0.结束*******n");
	printf("********************n");

}

int main()
{
    int input = 0;
    do
  {
      menu();
      printf("请选择:>");
      scanf("%d", &input);
        switch(input)
        {
        case 1:
            game();//猜数字的逻辑
            break;
        case 0:
            printf("退出游戏n")
            break;
        default:
            printf("选择错误,重新选择n")
            break;
        }
  } while(input);
    return 0; 
}

  输入input后,使用switch case来判断输入:1为猜数字,2为退出游戏,输入其他数字则选择错误

2.猜数字的逻辑

 1.生成随机数:rand();是一个生成随机数的函数,rand函数不需要参数,返回类型是整形

 随机数的范围是0~RAND_MAX(0~32767之间的值)
然后需要使用srand函数来设置随机数的生成器

 

 

只要给srand传一个实时变化的值,srand就能够生成一个随机数,这个时候就要用到时间戳。

当时间变化的时候,时间戳也在变。使用time函数能够获取系统时间来返回一个时间戳。要使用srand和time函数需要分别添加两个头文件:#include <stdlib.h>和#include <time.h>

int input = 0;
srand((unsigned int)time(NULL));

 由于不是每次生成随机数都设置一个随机数,一次只需要生成一次即可,所以需要把随机数的生成放入主函数。

3.设置随机数生成的范围 

  要想生成1~100之间的数字,首先要%100

int ret = rand()%100;

(任何数字%100它的范围就是0~99) 

  这个时候需要在后面加上一个1

int ret = rand()%100+1;

  范围就变成了1~100
 

最后使用while循环来进行步骤的设置 

void game()
{
	int guess = 0;
	int ret = rand()%100+1;
while (1)
	{
		printf("请猜数字:>");
		scanf_s("%d", &guess);
		if (guess < ret) {
			printf("猜小了n");
		}
		else if (guess > ret) {
			printf("猜大了n");
		}
		else {
			printf("恭喜你猜对了n");
			break;
		}
	}
}

 4.最终代码与结果

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

void menu()
{
	printf("********************n");
	printf("*******1.开始*******n");
	printf("*******0.结束*******n");
	printf("********************n");

}
void game()
{
	int guess = 0;
	int ret = rand()%100+1;

		while (1)
	{
		printf("请猜数字:>");
		scanf_s("%d", &guess);
		if (guess < ret) {
			printf("猜小了n");
		}
		else if (guess > ret) {
			printf("猜大了n");
		}
		else {
			printf("恭喜你猜对了n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));

	do {
		menu();
		printf("请选择:>");
		scanf_s("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏n");
			break;
		default :
			printf("选择错误,重新选择n");
			break;
		}
	
	} while (input);

	return 0;
}

 

 

最后

以上就是迷路云朵为你收集整理的C语言:使用分支与循环语句制作一个猜数字的小游戏程序设计思路:1.设计游戏菜单2.猜数字的逻辑3.设置随机数生成的范围  4.最终代码与结果的全部内容,希望文章能够帮你解决C语言:使用分支与循环语句制作一个猜数字的小游戏程序设计思路:1.设计游戏菜单2.猜数字的逻辑3.设置随机数生成的范围  4.最终代码与结果所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部