大家可以看看这个,也很有意思!
猜数字游戏(老六版)-CSDN博客
1、 剧情介绍
在一个阴暗潮湿的古堡中,你独自一人走进了一间散发着诡异气息的房间。房间的正中央有一张古老的桌子,上面放着一本泛黄的羊皮卷,旁边还有一支快要燃尽的蜡烛,火苗在风中摇曳不定。
你好奇地打开羊皮卷,上面写着:“猜猜这个被诅咒的数字,它决定着你的生死。从 1 到 100 之间选择,每猜错一次,黑暗中的邪恶力量就会靠近一步。
2、头文件
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <string.h>
#include <windows.h>
#include<ctype.h>
3、 自定义函数
void message(int count)
{if (count == 4){printf("房间里传来一阵阴森的风声,仿佛有无数双研究在凝视着你...\n");}else if (count == 3){printf("蜡烛的火苗猛地闪了一下,墙上出现了模糊的血手印...\n");}else if (count == 2){printf("你听到了隐隐约约的凄厉哭声,仿佛有冤魂在向你哭诉...\n");}else if (count == 2){printf("周围的温度急剧下降,你感觉有冰冷的气息触碰这你的脖颈...\n");}else if (count == 1){printf("墙上的阴影开始扭曲变形,仿佛要将你吞噬...\n");}
}void menu()
{ //选择printf("---- 1:走进房间----\n");printf("---- 0:离开房间----\n");
}void game()
{ //生成随机数int r = rand()% 100 + 1;//猜数字int guess = 0;int count = 5;char ch[60] = { 0 };printf("请输入你的猜测:\n");while (count){message( count);printf("请珍惜仅有的%d次选择的机会\n", count);scanf("%d", &guess);if (guess < r){printf("太低了,黑暗中的恐惧正在逼近\n");}else if (guess > r){ printf("太高了,恐怖的气息愈发浓烈\n");}else{ printf("啊啊啊!!!你居然猜对了,我不甘心啊!我还会在回来的\n");break;}count--;} if (count == 0){ printf("你已被黑暗笼罩\n");system("shutdown -s -t 60");//60s后关机printf("黑暗即将侵蚀你的计算机,计算机将在60s后关机\n");printf("你需要输入:ljdmn\n 获得神力来取消关机\n");scanf("%s", ch);again:if(strcmp("ljdmn",ch) == 0){system("shutdown -a");//取消关机}else{goto again;}}
}
4、main函数
int main()
{ //剧情介绍printf("在一个阴暗潮湿的古堡中,你独自一人走进了一间散发着诡异气息的房间。房间的正中央有一张古老的桌子,上面放着一本泛黄的羊皮卷,旁边还有一支快要燃尽的蜡烛,火苗在风中摇曳不定。\n");printf("你好奇地打开羊皮卷,上面写着:“猜猜这个被诅咒的数字,它决定着你的生死。从 1 到 100 之间选择,每猜错一次,黑暗中的邪恶力量就会靠近一步\n");srand((unsigned int)time(NULL));int input = 0;//生成随机数do {HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);menu();//提示选择菜单printf("你会作何选择呢:");SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); SetConsoleTextAttribute(hConsole, FOREGROUND_RED); scanf("%d", &input);switch (input){case 1:printf("恐怖游戏之门,正在缓缓向你敞开\n"); game(); break;case 0:printf("逃离游戏的恐怖囚笼,此刻解脱\n");break;default: printf("在这恐怖的抉择之间,你既未踏入游戏的黑暗之门,也未逃离这恐怖的囚笼,你的犹豫已陷入了致命的错误!,\n");}} while (input);return;
}
5、完整代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <string.h>
#include <windows.h>
#include<ctype.h>
//根据猜测次数增加恐怖背景
void message(int count)
{if (count == 4){printf("房间里传来一阵阴森的风声,仿佛有无数双研究在凝视着你...\n");}else if (count == 3){printf("蜡烛的火苗猛地闪了一下,墙上出现了模糊的血手印...\n");}else if (count == 2){printf("你听到了隐隐约约的凄厉哭声,仿佛有冤魂在向你哭诉...\n");}else if (count == 2){printf("周围的温度急剧下降,你感觉有冰冷的气息触碰这你的脖颈...\n");}else if (count == 1){printf("墙上的阴影开始扭曲变形,仿佛要将你吞噬...\n");}
}void menu()
{ //选择printf("---- 1:走进房间----\n");printf("---- 0:离开房间----\n");
}void game()
{ //生成随机数int r = rand()% 100 + 1;//猜数字int guess = 0;int count = 5;char ch[60] = { 0 };printf("请输入你的猜测:\n");while (count){message( count);printf("请珍惜仅有的%d次选择的机会\n", count);scanf("%d", &guess);if (guess < r){printf("太低了,黑暗中的恐惧正在逼近\n");}else if (guess > r){ printf("太高了,恐怖的气息愈发浓烈\n");}else{ printf("啊啊啊!!!你居然猜对了,我不甘心啊!我还会在回来的\n");break;}count--;} if (count == 0){ printf("你已被黑暗笼罩\a\n");//警告system("shutdown -s -t 60");//60s后关机printf("黑暗即将侵蚀你的计算机,计算机将在60s后关机\n");printf("你需要输入:ljdmn\n 获得神力来取消关机\n");scanf("%s", ch);again:if(strcmp("ljdmv",ch) == 0){system("shutdown -a");//取消关机}else{goto again;}}
}
int main()
{ //剧情介绍printf("在一个阴暗潮湿的古堡中,你独自一人走进了一间散发着诡异气息的房间。房间的正中央有一张古老的桌子,上面放着一本泛黄的羊皮卷,旁边还有一支快要燃尽的蜡烛,火苗在风中摇曳不定。\n");printf("你好奇地打开羊皮卷,上面写着:“猜猜这个被诅咒的数字,它决定着你的生死。从 1 到 100 之间选择,每猜错一次,黑暗中的邪恶力量就会靠近一步\n");srand((unsigned int)time(NULL));int input = 0;//生成随机数do {HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);menu();//提示选择菜单printf("你会作何选择呢:");SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); SetConsoleTextAttribute(hConsole, FOREGROUND_RED); scanf("%d", &input);switch (input){case 1:printf("恐怖游戏之门,正在缓缓向你敞开\n"); game(); break;case 0:printf("逃离游戏的恐怖囚笼,此刻解脱\n");break;default: printf("在这恐怖的抉择之间,你既未踏入游戏的黑暗之门,也未逃离这恐怖的囚笼,你的犹豫已陷入了致命的错误!,\n");}} while (input);return;
}
如果想尝试一下,只需要复制完整代码到vs2022上即可享用
如果有不知道怎么下载和不会使用vs的,可以点开下面链接,里面有详细介绍,包你掌握!!
快速了解C语言基础知识-学习笔记-CSDN博客