C++测手速小游戏

news/2024/11/15 20:57:47/

        终于有空写点代码了(作业好多awa)

        今天带来的是一款非常有趣的测手速游戏,玩家可以测试自己的反应速度。

创作背景:

        MCYH的反应速度及其迟钝。

        为了锻炼自己,MCYH制作了一款测手速的小游戏,以达到提高反应速度的目的。

游戏玩法:

        cmd框一开始为绿色,4-9秒钟后会变成红色,这时玩家需要按下空格键,游戏会记录你的反应时间。反应时间反映着你的反应速度。

       

低配版代码:

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
#define INF 0x3f3f
int main()
{system("cls");srand(time(0));system("color 2F");printf("when it turns red, press 'space'\n\n\n");Sleep(rand()%5000+4000);system("color 4F");int j=clock(),k;char s=_getch();printf("%d ms",clock()-j);Sleep(1000);return 0;
}

_____________________________________________________________________________

        emmmmm...是不是感觉少点什么?

        对啦!我们可以多测几次,取平均值,这样也可以避免偶然性,减少误差。

      

中配版代码:

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
#define INF 0x3f3f
int res=0,a[6]={INF,INF,INF,INF,INF,INF};
int c_a=INF;
int main()
{system("cls");for(int i=1;i<=5;i++){system("cls");srand(time(0));system("color 2F");printf("when it turns red, press 'space'\n\n\n");Sleep(rand()%5000+4000);bool cont=0;while(kbhit())//防止玩家“抢跑 ” {printf("You pressed too soon.");char s=getch();Sleep(1000);cont=1;}if (cont==0){system("color 4F");int j=clock(),k;char s=_getch();printf("%d ms",clock()-j);a[i]=clock()-j;res+=a[i];Sleep(1000);}else--i;//本次作废,重新来过 }system("cls");res/=5;printf("Your average:%dms\n",res);for(int i=1;i<=5;i++){printf("%d : %d ms\n",i,a[i]);c_a=min(a[i],c_a);}printf("You can press any key to quit the Game after 2 seconds.\n");Sleep(2000);_getch();return 0;
}

_____________________________________________________________________________

        emmmmm...要是能存档就更好了。

高配版代码:

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
#define INF 0x3f3f
int res=0,a[6]={INF,INF,INF,INF,INF,INF};
int best_res=INF,best_a=INF;
int c_a=INF;
void Read_File();//读档 
void Write_File();//存档 
int main()
{Read_File();for(int i=1;i<=5;i++){system("cls");srand(time(0));system("color 2F");printf("when it turns red, press 'space'\n\n\n");Sleep(rand()%5000+4000);bool cont=0;while(kbhit()){printf("You pressed too soon.");char s=getch();Sleep(1000);cont=1;}if (cont==0){system("color 4F");int j=clock(),k;char s=_getch();printf("%d ms",clock()-j);a[i]=clock()-j;res+=a[i];Sleep(1000);}else--i;}system("cls");res/=5;printf("Your average:%dms\n",res);for(int i=1;i<=5;i++){printf("%d : %d ms\n",i,a[i]);c_a=min(a[i],c_a);}printf("Your best average: %dms\n",best_res);printf("Your best score: %dms\n",best_a);if (res<best_res)printf("New average record!\n"),best_res=res;if (c_a<best_a)printf("New score record!\n"),best_a=c_a;Write_File();printf("You can press any key to quit the Game after 2 seconds.\n");Sleep(2000);_getch();return 0;
}
void Read_File()
{freopen("save.txt","r",stdin);scanf("%d%d",&best_res,&best_a);fclose(stdin);
}
void Write_File()
{freopen("save.txt","w",stdout);printf("%d %d",best_res,best_a);fclose(stdout);
}

_____________________________________________________________________________

        最后再完善一下场景,把光标屏蔽掉,大功告成!

上成品:

       

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
#define INF 0x3f3f
int res=0,a[6]={INF,INF,INF,INF,INF,INF};
int best_res=INF,best_a=INF;
int c_a=INF;void Read_File();//读档 
void Write_File();//存档 
void hidden();//隐藏光标 
int main()
{Read_File();printf("Measuring hand speed Game\n");printf("Author : MCYH \n");printf("Press any key to join the game.\n\n");printf("Game Rule:\n");printf("The screen will be green first. When it turns red, you should press 'space'.\n");printf("DO NOT press ahead!!!\n");_getch();system("cls");for(int i=1;i<=5;i++){system("cls");srand(time(0));system("color 2F");printf("when it turns red, press 'space'\n\n\n");Sleep(rand()%5000+4000);bool cont=0;while(kbhit()){printf("You pressed too soon.");char s=getch();Sleep(1000);cont=1;}if (cont==0){system("color 4F");int j=clock(),k;char s=_getch();printf("%d ms",clock()-j);a[i]=clock()-j;res+=a[i];Sleep(1000);}else--i;}system("cls");res/=5;printf("Your average:%dms\n",res);for(int i=1;i<=5;i++){printf("%d : %d ms\n",i,a[i]);c_a=min(a[i],c_a);}printf("Your best average: %dms\n",best_res);printf("Your best score: %dms\n",best_a);if (res<best_res)printf("New average record!\n"),best_res=res;if (c_a<best_a)printf("New score record!\n"),best_a=c_a;Write_File();printf("You can press any key to quit the Game after 2 seconds.\n");Sleep(2000);_getch();return 0;
}
void Read_File()
{freopen("save.txt","r",stdin);scanf("%d%d",&best_res,&best_a);fclose(stdin);
}
void Write_File()
{freopen("save.txt","w",stdout);printf("%d %d",best_res,best_a);fclose(stdout);
}
void hidden()
{HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);CursorInfo.bVisible = false;SetConsoleCursorInfo(handle, &CursorInfo);
}

        好啦,以上就是这篇文章的全部内容,你的手速有多快呢?可以把你的最好成绩打在评论区哟。觉得好玩的可以点一个赞,感谢您的支持。


http://www.ppmy.cn/news/858002.html

相关文章

Java阶段五Day05

Java阶段五Day05 文章目录 Java阶段五Day05问题解析无法启动Naocs Nacos服务注册发现Nacos运行架构nacos-server是一个服务进程 配置注册服务端客户端csmall-for-jsd-business-adapter 整合nacos-clientyaml详细配置注册信息在nacos中的内存状态多实例注册服务抓取&#xff08;…

学计算机需要培训班吗?我对计算机培训班的浅谈

在学习IT技术的过程中&#xff0c;你是否也被安利过各种五花八门的技术培训班&#xff1f;这些培训班都是怎样向你宣传的&#xff0c;你又对此抱有着怎样的态度呢&#xff1f;在培训班里学技术&#xff0c;真的有用吗&#xff1f; 文章目录 一、引入话题二、学习IT上培训班的益…

Photoshop CS6 for Mac破解版/序列号简介

Photoshop无论是在Windows平台还是Mac平台&#xff0c;都是最受欢迎的图像处理工具&#xff0c;Mac志为大伙找到了最新的Adobe photoshop CS6for Mac破解版,无需序列号&#xff0c;希望能够帮助到大家。 Photoshop CS6 for Mac破解方法&#xff1a; 1、断网 2、开始安装&#…

ADOBE CS3 序列号

今天帮一朋友装台电脑&#xff0c;是vista的&#xff0c;原先她想要装成XP&#xff0c;不过经过努力&#xff0c;弄了张集成ICH9驱动的安装光盘&#xff0c;终于XP上了&#xff0c;不过最终由于指纹识别、摄像头找遍都找不到驱动&#xff0c;于是又装回Vista U版去了。系统搞定…

Adobe flash professional CS5的序列号

Adobe flash professional CS5的序列号 2011年02月17日 用户操作 [留言] [发消息] [加为好友] AIR Android Flash Flex Flex-chart FMS SFS 生活点滴 项目技术文章 存档 [b] Adobe flash professional CS5的序列号 [/b][b]收藏 [/b] 1302-1856-1610-7184-8664-4749 1302-1629-…

Adobe Illustrator CS5 序列号及安装方法

Adobe Illustrator CS5 序列号及安装方法 我给经验说一下吧,靠了,累死我了,PS安装一点不费劲,就这个ai怎么弄都不好用,一装好就被adobe认出来是非法的。现在好了,咱不按电驴上的方法破解hosts,咱自己找了个方法,人工编辑hosts!就大功告成了!轻松加自在,娃哈哈哈!!…

免注册(不用序列号)使用Photoshop CS6

近日&#xff0c;我安装Photoshop CS6碰到了一些麻烦 经过一番努力解决了困难&#xff1a; Photoshop CS6安装包 链接&#xff1a;http://pan.baidu.com/s/1o7Wq8Me 密码&#xff1a;hney Photoshop CS6安装包里面包括64位的&#xff0c;可以选择两个&#xff0c;如果是64位…

adobe CS5 master collection的序列号

http://zhidao.baidu.com/question/219901150.html?qq-pf-topcqq.c2c 1325-1341-5604-3390-7355-4901 1325-1046-1516-5217-0960-8116 1325-1309-3013-7203-6347-1136