目录
开头
大家好,我叫这是我58。今天,我们来看一下我用C语言编译的西蒙说游戏。
程序
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
程序的效果
西蒙说游戏
结尾
看到这里了,如果你喜欢这篇博客,可以评论来互动一下我哦。