自学内容网 自学内容网

恶趣味猜数字+关机(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以外的数字,这样你就可以跳过猜数字,直接取消关机了


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


原文地址:https://blog.csdn.net/2302_81032013/article/details/138003635

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!