之前有一个1.5.8版的,废了,重新更新的
#include<iostream>
#include<cstdlib>
#include<windows.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<ctime>
#include<bits/stdc++.h>
using namespace std;
string n,l,p,ui[20];
int m,tmp=1,num,ran,zb;
bool bl=false;
string s[21] = {
"kedaoi","GESP","iostream","return","BUG","desmos",
"bits/stdc++.h","using","namespace","std","Hello keda!","windsurfing",
"uncomfortable","M416","chatGPT","stong","relax",
"give somebody a call","star","movie theater","squirel"
};
string oj[7] = {
"I'm from the China.","How old are you?",
"What can I say?","Do you have any friends?",
"What's your favorite stalk?","Oh my god!",
"Don't go at the red light!"
};
string o[12] = {
"你好","兴安岭","可达","中华人民共和国",
"大不列颠及北爱尔兰联合王国" ,
"笔记本电脑","卐闪击波兰","五大常任理事国",
"绿色计算机","苏维埃社会主义共和国联盟","量子芯片","乔戈里峰"
};
string k[12] = {
"123","456","54198","1145141919810",
"000001","1235678","1001100100011",
"987654321","1789827364","541876234",
"9827348","165423794845234561"
};
void kso(string s,int n){//逐字输出函数,s是逐字输出文段,n是输出间隔
for(int i = 0;i<s.size();i++){
cout << s[i];
Sleep(n);
}
}
void ppp(int n,int m){
for(int i = 1;i<=n;i++) cout << "\n";
for(int i = 1;i<=m;i++) cout << "\t";
}
int main(){
srand(time(0));
system("title 打字练习机");
system("color 1C");
system("CLS");
ppp(10,5);
kso("是否查看教程A、是 B、否\n",20);
ppp(1,5);
cin >> n;
if(n=="A" || n=="A"){
system("CLS");
ppp(10,5);
kso("很简单,就是打字练习。开局输入选项按回车就行了.",20);
ppp(1,5);
kso("打字环节照着它上面给的示例来打字。",20);
ppp(1,5);
kso("如果连续5次打字失败,就会提醒你好好打。",20);
Sleep(6000);
}else if(n=="lhz042511lhz2111"){
cin >> n;
if(n=="1l1l11l"){
system("CLS");
ppp(10,5);
kso("开发者,您好!",20);
Sleep(1000);
system("CLS");
ppp(10,5);
kso("您将享受特殊权利!",20);
Sleep(1200);
bl=true;
}else{
system("CLS");
ppp(10,5);
kso("吓死我了,还好没进入!!",20);
Sleep(1200);
}
}
while(tmp==1){
if(bl==false){
system("CLS");
ppp(10,5);
kso("欢迎来到打字练习机1.5.8版",20);
Sleep(1500);
ppp(1,4);
kso("请问您要做什么?a、打字练习 b、退出 c、查看更新日志",30);
ppp(1,5);
cin >> n;
if(n=="A" || n=="a"){//开始打字
tmp=0;
system("CLS");
ppp(10,5);
kso("进行什么打字?a、英文 b、中文 c、数字",15);
ppp(1,5);
cin >> n;
if(n=="a" || n=="A"){
system("CLS");
ppp(10,5);
kso("进行什么样式打字?a、词汇 b、句子",15);
ppp(1,5);
cin >>n;
if(n=="a" || n=="A"){//英文单词打字
srand(time(0));
int popp=rand()%21+5;
for(int i=1;i<=popp;i++){
ui[i-1]=s[rand()%20];
}
double start=clock();
for(int i = 0;i<popp;i++){
system("CLS");
ppp(10,7);
kso(ui[i],10);
ppp(1,7);
getline(cin,l);
if(l==ui[i]){
num=0;
continue;
}
else{
if(num==5){
system("CLS");
ppp(10,7);
kso("好好打,不打就退出",15);
Sleep(2000);
i--;
num=0;
system("CLS");
continue;
}else{
i--;
num++;
continue;
}
}
}
double end=clock()/1000;
system("CLS");
if(zb==1){
srand(time(0));
int popp=rand()%30+5;
end-=popp;
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒",20);
Sleep(2000);
ppp(1,5);
kso("平均每个单词耗时",20);
printf("%.1lf",end*1.0/popp);
kso("秒(作弊)",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/popp<=4) kso("大佬,不愧是大佬!(作弊不代表真实成绩)",20);
else if(end*1.0/popp>=4 & end*1.0/12<=popp) kso("还有进步空间哦(作弊不代表真实成绩)",20);
else kso("记得多练练哦(作弊不代表真实成绩)",20);
Sleep(2000);
}else{
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒",20);
Sleep(2000);
ppp(1,5);
kso("平均每个单词耗时",20);
printf("%.1lf",end*1.0/popp);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/popp<=4) kso("大佬,不愧是大佬!",20);
else if(end*1.0/popp>=4 & end*1.0/12<=popp) kso("还有进步空间哦",20);
else kso("记得多练练哦",20);
Sleep(2000);
}
}else if(n=="B" || n=="b"){//英文句子打字
srand(time(0));
int popp=rand()%7+3;
for(int i=1;i<=popp;i++){
ui[i-1]=oj[rand()%6];
}
double start=clock();
for(int i = 0;i<=popp;i++){
system("CLS");
ppp(10,7);
kso(ui[i],10);
ppp(1,7);
getline(cin,l);
if(l==ui[i]){
num=0;
continue;
}
else{
if(num==5){
system("CLS");
ppp(10,7);
kso("好好打,不打就退出",15);
Sleep(2000);
i--;
num=0;
system("CLS");
continue;
}else{
i--;
num++;
continue;
}
}
}
double end=clock()/1000;
if(zb==1){
srand(time(0));
int popp=rand()%30+5;
end-=popp;
system("CLS");
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒(作弊)",20);
Sleep(2000);
ppp(1,5);
kso("平均每个句子耗时",20);
printf("%.1lf",end*1.0/popp);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/popp<=8) kso("大佬,不愧是大佬!(作弊不代表真实成绩)",20);
else if(end*1.0/popp>=8 & end*1.0/popp<=15) kso("还有进步空间哦(作弊不代表真实成绩)",20);
else kso("记得多练练哦(作弊不代表真实成绩)",20);
Sleep(2000);
}else{
system("CLS");
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒",20);
Sleep(2000);
ppp(1,5);
kso("平均每个句子耗时",20);
printf("%.1lf",end*1.0/popp);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/popp<=8) kso("大佬,不愧是大佬!",20);
else if(end*1.0/popp>=8 & end*1.0/popp<=15) kso("还有进步空间哦",20);
else kso("记得多练练哦",20);
Sleep(2000);
}
}
}else if(n=="b" || n=="B"){//词汇打字
srand(time(0));
int popp=rand()%12+5;
for(int i=1;i<=popp;i++){
ui[i-1]=o[rand()%11];
}
double start=clock();
for(int i = 0;i<=popp;i++){
system("CLS");
ppp(10,7);
kso(ui[i],10);
ppp(1,7);
getline(cin,l);
if(l==ui[i]){
num=0;
continue;
}
else{
if(num==5){
system("CLS");
ppp(10,7);
kso("好好打,不打就退出",15);
Sleep(2000);
i--;
num=0;
system("CLS");
continue;
}else{
i--;
num++;
continue;
}
}
}
double end=clock()/1000;
system("CLS");
if(zb==1){
srand(time(0));
int popp=rand()%30+5;
end-=popp;
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒(作弊)",20);
Sleep(2000);
ppp(1,5);
kso("平均每个词汇耗时",20);
printf("%.1lf",end*1.0/popp);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/popp<=4) kso("大佬,不愧是大佬!(作弊不代表真实成绩)",20);
else if(end*1.0/popp>=4 & end*1.0/popp<=10) kso("还有进步空间哦(作弊不代表真实成绩)",20);
else kso("记得多练练哦(作弊不代表真实成绩)",20);
Sleep(2000);
}else{
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒",20);
Sleep(2000);
ppp(1,5);
kso("平均每个词汇耗时",20);
printf("%.1lf",end*1.0/popp);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/popp<=4) kso("大佬,不愧是大佬!",20);
else if(end*1.0/popp>=4 & end*1.0/popp<=10) kso("还有进步空间哦",20);
else kso("记得多练练哦",20);
Sleep(2000);
}
}else if(n=="c" || n=="C"){//数字打字
double start=clock();
for(int i = 0;i<=11;i++){
system("CLS");
ppp(10,7);
kso(k[i],10);
ppp(1,7);
getline(cin,l);
if(l==k[i]){
num=0;
continue;
}
else{
if(num==5){
system("CLS");
ppp(10,7);
kso("好好打,不打就退出",15);
Sleep(2000);
i--;
num=0;
system("CLS");
continue;
}else{
i--;
num++;
continue;
}
}
}
double end=clock()/1000;
system("CLS");
if(zb==1){
srand(time(0));
int popp=rand()%30+5;
end-=popp;
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒(作弊)",20);
Sleep(2000);
ppp(1,5);
kso("平均每组数耗时",20);
printf("%.1lf",end*1.0/12);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/12<=2.5) kso("大佬,不愧是大佬!(作弊不代表真实成绩)",20);
else if(end*1.0/12>=2.5 & end*1.0/12<=5) kso("还有进步空间哦(作弊不代表真实成绩)",20);
else kso("记得多练练哦(作弊不代表真实成绩)",20);
Sleep(2000);
}else{
ppp(10,5);
kso("您一共耗时了",20);
cout << end;
kso("秒(作弊)",20);
Sleep(2000);
ppp(1,5);
kso("平均每组数耗时",20);
printf("%.1lf",end*1.0/12);
kso("秒",20);
Sleep(4000);
system("CLS");
ppp(10,5);
if(end*1.0/12<=2.5) kso("大佬,不愧是大佬!",20);
else if(end*1.0/12>=2.5 & end*1.0/12<=5) kso("还有进步空间哦",20);
else kso("记得多练练哦",20);
Sleep(2000);
}
}
system("CLS");
ppp(10,5);//彩蛋环节
system("color 3D");
kso("是否查看彩蛋?A、是 B、否",20);
ppp(1,5);
cin >> n;
if(n=="A" || n=="a"){
system("CLS");
ppp(10,5);
kso("参与本作品制作的有:lhz2111(hydro账号)",20);
Sleep(4000);
system("CLS");
ppp(10,5);
kso("本人keda账号:李昊泽1",20);
Sleep(4000);
system("CLS");
ppp(10,5);
kso("作品制作不易,整整556行",20);
Sleep(4000);
system("CLS");
ppp(10,5);
kso("求大佬一个支持呗",20);
Sleep(3000);
system("CLS");
ppp(10,5);
kso("圆周率前100位:3.141592653589793238462643383279502384197169399375105",20);
ppp(1,5);
kso("820974944592307816406286208998628034875342117068",20);
Sleep(5000);
system("CLS");
ppp(10,7);
kso("感谢游玩!",20);
Sleep(2000);
}else{
system("CLS");
ppp(10,5);
kso("欢迎下次光临",20);
Sleep(4000);
}
}else if(n=="b" || n=="B"){//开局B选项
tmp=1;
system("CLS");
ppp(10,5);
kso("你居然退缩了!你需要再次按下b键",20);
while(true){
cin >> n;
if(n=="b"){
system("CLS");
ppp(10,5);
kso("你中套了",50);
continue;
}else{
system("CLS");
ppp(10,6);
kso("好吧,再再再再再再再再再再再 见见见见见见见见见 ",0.5);
ppp(1,6);
kso(" 再 见 见 ",0.5);
ppp(1,6);
kso(" 再再再再再再再再再 见 见 ",0.5);
ppp(1,6);
kso(" 再 再 再 见 见 见 ",0.5);
ppp(1,6);
kso(" 再 再 再 见 见 见 ",0.5);
ppp(1,6);
kso(" 再再再再再再再再再 见 见 见 ",0.5);
ppp(1,6);
kso(" 再 再 再 见 见 见 ",0.5);
ppp(1,6);
kso(" 再 再 再 见 ",0.5);
ppp(1,6);
kso(" 再再再再再再再再再再再 见 见 见",0.5);
ppp(1,6);
kso(" 再 再 见见 见 见",0.5);
ppp(1,6);
kso(" 再 再再再 见见 见见见见见",0.5);
Sleep(4000);
return 0;
}
}
}else if(n=="c" || n=="C"){//开局C选项
tmp=1;
system("color 5A");
system("CLS");
ppp(10,5);
kso("2024年1月22日首个版本发布103行(1.0版)",20);
Sleep(1300);
system("cls");
ppp(10,5);
kso("2024年1月23日更新中文打字(1.1版)",20);
Sleep(1300);
system("cls");
ppp(10,5);
kso("2024年1月23日更新打字时间和打字速度180行(1.2版)",20);
Sleep(1300);
system("cls");
ppp(10,5);
kso("2024年1月23日更新数字打字248行(1.3版)",20);
Sleep(1300);
system("cls");
ppp(10,5);
kso("2024年1月24日更新教程,改进了彩蛋 271行(1.3.5版)",20);
Sleep(1300);
system("cls");
ppp(10,5);
kso("2024年1月24日更新英文句子打字 334行(1.3.7版)",20);
Sleep(1300);
system("cls");
ppp(10,5);
kso("2024年1月25日更新打字评测 360行(1.3.9版)",20);
Sleep(1300);
system("cls");
ppp(10,4);
kso("2024年1月25日更新数字打字和中文打字的打字样例 379行(1.4版)",20);
Sleep(1500);
system("cls");
ppp(10,3);
kso("2024年9月11日改进了退出界面,微调了一下彩蛋,解决了更新日志需要重进的难题 411行(1.4.3版)",20);
Sleep(2000);
system("cls");
ppp(10,5);
kso("2024年9月11日美化了更新日志退出的界面 423行(1.4.4版)",20);
Sleep(1400);
system("cls");
ppp(10,5);
kso("2024年10月19日神秘模式添加!!!(爆改!) 496行(1.5版)",20);
Sleep(1400);
system("cls");
ppp(10,5);
kso("2024年10月19日英文词汇、英文句子随机打字更新 514行(1.5.1版)",20);
Sleep(1500);
system("cls");
ppp(10,2);
kso("2024年10月20日更新中文词汇的打字样例和中文词汇随机打字更新,更新日志退出秒数变随机 525行(1.5.2版)",20);
Sleep(2800);
system("cls");
ppp(10,2);
kso("2024年10月20日美化了一下更新日志,删除了部分没用的代码540行(1.5.3版)",20);
Sleep(1500);
system("cls");
ppp(10,2);
kso("2024年10月20日更新英文词汇打字样例553行,整改某些BUG(1.5.4版)",20);
Sleep(1500);
system("cls");
ppp(10,2);
kso("2024年10月20日改进了神秘模式556行,1.5.5版)",20);
Sleep(1500);
system("cls");
ppp(10,2);
kso("2025年1月21日改进了神秘模式、删除部分没用的代码 622行,1.5.8版)",20);
Sleep(1500);
system("cls");
srand(time(0));
int pp=rand()%10+3;
while(pp){
ppp(10,5);
cout << pp << "秒后返回";
Sleep(1000);
pp--;
system("cls");
}
}
}else{//开fa者模式
int ran=rand()%100+1;
system("cls");
ppp(1,5);
kso("请输入数字(1~3)",20);
int rt;
cin >> rt;
for(int i=1;i<=9;i++){
ppp(10,5);
kso("加载中",0);
int qqw=i%4;
for(int j=1;j<=qqw;j++) cout << ".";
Sleep(350);
system("cls");
}
Sleep(1000);
system("cls");
if(rt==1){
ppp(1,5);
kso("1、输出代码",20);
Sleep(300);
ppp(1,6);
kso("system('cls');",20);
ppp(1,6);
kso("ppp(x,y);",20);
ppp(1,6);
kso("kso('文字',z);",20);
Sleep(1000);
ppp(1,5);
kso("注意:''只是为了不让程序报错写的,应为“”的英文格式 ",20);
Sleep(1000);
ppp(1,5);
kso("注意:'kso'和'ppp'为自编函数,在代码里翻",20);
Sleep(2000);
}else if(rt==2){
ppp(1,5);
kso("抽中作弊啦!!!",20);
zb=1;
Sleep(1000);
tmp=1;
}else{
ppp(1,5);
kso("emmm......运气不是很好",20);
Sleep(200);
kso("抽中了三分之一的概率的暂未更新",20);
Sleep(1000);
}
if(tmp==1){
ppp(1,5);
kso("去吧天命人",20);
Sleep(500);
continue;
}
ppp(3,5);
kso("再见",20);
Sleep(1000);
return 0;
}
}
return 0;
}
复制到Dev-c++上WAN。