恶趣味猜数字+关机(C语言游戏)

这是对之前发布的第一个资源的一个讲解,大家感兴趣可以作更改,但是要声明一点,如果你改的代码带来了不太好的后果,与本人无关,大家要合理的运用知识,遵守道德。

那我们开始今天的话题。


猜数字游戏关机版本:

1. 猜数字(要会随机数)

2. 电脑关机

3. 结合 

 一、需要会的小版块

1.随机数

首先由于rand();是一个伪随机数,每次生成的随机数是一样的,所以我们要用srand();函数生成随机数种子,而只有时间是一直变化的,因此随机数我们可以写成

srand((unsigned int)time(NULL));

//这样继续用rand();函数每一次就是不一样的随机数了

PS:这里用到的头文件为 #include <stdlib.h> 和 #include <time.h> 

2.电脑关机 

这个相当于系统自带的,一般这样写关机的倒计时

system("shutdown -s -t 30");

//这里的30是指关机的倒计时

PS: 这里用到的头文件为 #include <windows.h>

3.字符比较

(这个是为了添加游戏的恶趣味性,比如说等到电脑倒计时关机的时候,要想开始游戏,必须输入一句话“我是猪”这样的)

一般要用到如下:

strcmp();函数

4.猜数字的小游戏

我们可以写到一个函数里面,这样的话会很方便 

5.游戏菜单

这里可以看三字棋的讲解,是一样的道理

二、代码参考

  #include <stdio.h>
  #include <windows.h>
  #include <string.h> 
  #include <time.h>
  #include <stdlib.h>
  
  void menu()
  {
  	printf("####### START GAME ########\n");
  	printf("#######  1 . play  ########\n");
  	printf("#######  0 . exit  ########\n");
  }
  
  void game()
  {
  	int num = rand() % 100 + 1;
	int guess = 0;
	
	while (1)
	{
		printf("猜数字喔,别忘了猜不对,时间到了会关机,嘿嘿嘿\n");
		scanf("%d",&guess);
		if (guess < num)
		{
			printf("猜小了\n");
		}
		else if (guess > num)
		{
			printf("猜大了\n");
		}
		else 
		{
			printf("游戏成功,已给猪取消关机\n要继续玩儿吗,嘿嘿嘿,猪同学\n"); 
			break;
		}
	}
  }
  int main()
  {
  	char input[20] = { 0 };
  	system("shutdown -s -t 30");
  	int choose = 0;
  	srand((unsigned int)time(NULL));
  	
  	while(1)
  	{
  		printf("请输入“我是猪”,否则不到半分钟就关机,气死你,嘿嘿嘿\n");
  		scanf("%s",input);
		if (strcmp(input,"我是猪") == 0)
		{
			printf("你是猪,哈哈哈,你真的信了\n");
			printf("在剩余时间内玩儿猜数字游戏,猜对就不关机,这次保真\n"); 
			//写猜数字的代码
			do
			{
				menu();
				printf("请选择:\n");
				scanf("%d",&choose);
				switch (choose)
				{
				case 1:
					game();
					system("shutdown -a");
					break;
				case 0:
					printf("想离开?门都没有!!!\n");
					printf("乖乖给我玩儿游戏吧!"); 
					game();
					system("shutdown -a");
					break;
				default:
					printf("看来你这猪还有点智商,不选不就行了,哈哈哈哈哈\n");
					system("shutdown -a");
					break;
				} 
			}while (choose);
		} 
	  }
  	return 0;
  }

讲一下我这个代码就是猜数字,因为菜单是0离开,1结束,但是其实刚开始运行就会关机倒计时,所以0是离开没有什么用,不管选择0或者1都会进行游戏,但是你可以选择0和1以外的数字,这样你就可以跳过猜数字,直接取消关机了


今天的代码蛮有意思,希望和大家共勉~~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Re.不晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值