c猜数字游戏

这是我的主函数,用switch语句能更好的选择进行游戏操作,再加上do while语句就可以重复玩游戏了。

个人感觉在写这种小游戏时要提前写好框架,然后在框架中添瓦造物,完善程序各个功能。

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<time.h>


void menu()
{

	printf("####################################\n");
	printf("#########欢迎来到猜数字游戏#########\n");
	printf("######输入>1开始,输入>0退出########\n");
	printf("####################################\n");
}


你得有一个菜单,就像你的游戏界面一样,让你的程序结果更好。

根据游戏界面选择进入游戏。然后你肯定得先生成一个随机数,然后你才能进行猜数字游戏,

一开始我只用了rand()随机函数;但是运行后发现他每次随机数都是一样的,没有变,

这样你就不能多次进行游戏了,然后我用cplusplus网站查了一下这个函数,

发现这个函数的用法,是要先使用srand((unsigned int)time(NULL));

调用时间函数,这样每次生成的随机数都不一样了。

void Reserach()
{
	int ret = 0;
	int num = 0;
	ret = rand()%100+1;
	
	while(1)
	{
		printf("请猜数字>");	
		scanf("%d",&num);
		if(ret == num)
		{
			printf("恭喜您,猜对了\n");
			break; 
		}
		else if(ret >= num)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("猜大了\n");
		}
	}	
}

这是我调用的游戏函数,rand()生成随机数范围是:0~32767

ret = rand() % 100 表示对他进行模运算,是生产0到99的随机数,缩小范围就更好多的操作了。

if(ret == num)
		{
			printf("恭喜您,猜对了\n");
			break; 
		}


如果这个语句中没有了break;当你才对游戏后想要再玩一局就不能玩了

他还在上次生成那个随机数循环中,没有跳出了,所以你需要加上break,跳出了重新开始游戏

int main()
{
	int input =0;
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("游戏准备开始,请选择");
		scanf("%d",&input);
		switch(input)
		{
			case 1: Reserach();
				break;
			case 0:
				break;
			default :
				printf("输入错误,请重新输入\n");
				break;
	     }
	}while(input);
	
	system("pause");
	return 0;


}


这是我的主函数,用switch语句能更好的选择进行游戏操作,再加上do while语句就可以重复玩游戏了。

个人感觉在写这种小游戏时要提前写好框架,然后在框架中添瓦造物,完善程序各个功能。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值