C语言小游戏————猜数字(猜错电脑关机)

本文介绍了如何使用C语言实现一个简单的猜数字游戏,涉及选择结构、循环控制以及使用rand、srand和time等函数生成随机数。游戏允许玩家猜测1到100之间的数字,提供5次机会,增加了趣味性和学习新库函数的机会。
摘要由CSDN通过智能技术生成

         在学习了C语言的选择和循环结构后,自己也动手做了一个猜数字的简单小游戏。

以下是实现的代码

首先是实现小游戏需要包含的头文件

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

接下来是主函数部分

这部分包含一个生成随机数的知识,需要用到的库函数包括rand,srand,time

其中rand用于生成随机数;

srand用于设置随机数起点;

time函数用于获取时间戳,来达到获取一个动态的随机数起点的目的;

rand函数和srand函数来源于库<stdlib.h>

time函数来源于库<time.h>

int main()
{
	srand((unsigned)time NULL);
	int input = 0;
	list:
	printf("***************************\n");
	printf("*********1.play************\n");
	printf("*********2.exit************\n");
	printf("***************************\n");
	printf("输入1开始游戏,输入2退出游戏\n");
	scanf("%d", &input);
	switch (input)//使用switch语句来实现选择
	{
	case 1:
		system("cls");//清空屏幕
		game();//游戏主体
		system("cls");//清空屏幕
		goto list;//回到游戏列表
		break;
	case 2:
		system("cls");//清空屏幕
		printf("退出游戏\n");
		break;
	default:
		system("cls");//清空屏幕
		printf("输错了");
		break;
	}
	return 0;
}

游戏的实现部分(游戏主体)

这里用到了system函数和strcmp函数;

其中system函数来源于库<stdlib.h>

system可以实现cmd(命令提示符)中的指令,格式为system("cmd中的命令");

strcmp来源于库<string.h>

strcmp用于比较两个字符串的大小,格式为strcmp(字符串1,字符串2);

如果字符串1>字符串2,strcmp函数返回一个大于零的值,

如果字符串1=字符串2,strcmp函数返回值等于0,

如果字符串1<字符串2,strcmp函数返回一个小于零的值,

void game()
{
	int ret = 1 + rand() % 100;//生成a~b的随机数,公式为a+rand()%(b-a+1)
	printf("游戏开始\n猜一个1~100之间的数字,有5次机会\n");
	int guess = 0;
	int count = 5;//5次游戏机会
	while(count)//循环5次达到5次游戏机会的目的
	{
		scanf("%d", &guess);//猜数字
		if (ret == guess)
		{
			printf("猜对了\n");
			break;
		}
		else if (ret > guess)
			printf("猜小了\n");
		else
			printf("猜大了\n");
		count--;
	}
	if (count == 0)
	{
		system("cls");//清空屏幕
		system("shutdown -s -t 60");//将电脑在60秒后关机
		printf("游戏失败,60秒内你的电脑会关机,输入“我是猪”解除\n");
		char arr[20] = { 0 };
		next:
		scanf("%s", arr);
		if (strcmp(arr, "我是猪") == 0)//比较输入是否正确,strcmp用于比较字符串
		{
			system("shutdown -a");//停止关机程序
			printf("危机解除\n");
		}
		else
		{
			printf("乱输可是真的会关机的\n");
			goto next;//输入错误,回到输入步骤
		}
		
	}
}

总结

        这个随机数游戏的逻辑并不复杂,只是用到了几个新的库函数,大家都可以自己动手试一试,写这个小游戏的过程也能学到很多新东西。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值