Bootstrap

C语言西蒙说游戏

开头

大家好,我叫这是我58。今天,我们来看一下我用C语言编译的西蒙说游戏。

程序

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <Windows.h>
int simonsays(char* str) {
	int ia = 0;
	int iflag = 1;
	printf("西蒙说");
	Sleep(1000);
	for (system("cls"), ia = 0; '\0' != str[ia]; ia++) {
		printf("%c", str[ia]);
		Sleep(500);
		system("cls");
		Sleep(100);
	}
	for (ia = 0; '\0' != str[ia]; ia++) {
		if (str[ia] != (getchar())) {
			iflag = 0;
			break;
		}
	}
	return ('\n' != getchar() && (iflag = 0)), iflag;
}
int main() {
	printf("欢迎你来玩这个西蒙说游戏,在这个游戏中,你需要在看见“西蒙说”这三个字之后,就要开始记后面的字母了,这些字母有“R”“B”“Y”和“G”,而当要记的字母全部出现之后,就要把刚才记过的字母一次性输入进去,如果输入进去的字母与刚才显示的字母一模一样,那就继续玩下去,反之,就结束这一轮的游戏,这就是这个西蒙说游戏的规则");
	Sleep(7000);
	char str[99999] = "";
	char stra[5] = "RBYG";
	int i = 0;
	int is = 1;
	for (system("cls"), srand(time(NULL)), i = 0; is; system("cls"), i++) {
		str[i] = stra[rand() % 4];
		is = simonsays(str);
	}
	system("cls");
	printf("游戏已结束\n");
	return 0;
}

程序的流程图

等待7秒
清屏
清屏
否(清屏)
开始
把宏_CRT_SECURE_NO_WARNINGS定义为1
导入stdio.h
导入stdlib.h
导入time.h
导入Windows.h
定义simonsays函数
输出“欢迎你来玩这个西蒙说游戏,在这个游戏中,你需要在看见“西蒙说”这三个字之后,就要开始记后面的字母了,这些字母有“R”“B”“Y”和“G”,而当要记的字母全部出现之后,就要把刚才记过的字母一次性输入进去,如果输入进去的字母与刚才显示的字母一模一样,那就继续玩下去,反之,就结束这一轮的游戏,这就是这个西蒙说游戏的规则”
把一个有99999个字符的字符串str初始化为空字符串
把一个有5个字符的字符串stra初始化为“RBYG”
定义i为0
定义is为1
设置随机数的种子,种子由时间戳决定
设i为0
is?
把str的第i项设为stra的第随机值模上一个4的项
把is设为simonsays函数的返回值,simonsays函数的参数为str
i自增1
输出“游戏已结束\n”
结束
simonsays函数
等待1秒,等好后就清屏
等待0.5秒,等待好后就清屏,之后就等待0.1秒
break
返回iflag
否(直接返回ifalg)
结束
开始
定义ia为0
定义iflag为1
输出“西蒙说”
设ia为0
'\0' != str[ia]?
设ia为0
ia自增1
'\0' != str[ia]?
str[ia] != (getchar())?
设iflag为0
'\​n' != getchar()?
设iflag为0
ia自增1

程序的效果

西蒙说游戏

结尾

看到这里了,如果你喜欢这篇博客,可以评论来互动一下我哦。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;