手速apm在线测试_我就是手速的King!制作一个网页版手速测试器

在我们玩游戏的时候,经常会听到队友说:

7dd4c13a7734afccb912ef6b4e1223d9.png

    啊不是,放错图了,是这个:

4b72188b427d90b50acae0c90b961f11.png

    这时候,如果你无知地回一句:“啊?CPS是啥?” 那么后果就是……fadd20a86311fd16cf56df190e26e515.png

    队友直接骂街:“我怎么碰到个这垃圾货?CPS是啥都不知道。一看就是0.几的小菜鸡,能赢个鬼!”

    这时,你开始上网查找啥是CPS,故事就此开始……

1.CPS的定义与测试方法

    CPS,是Click Per Second的简写,意思是每秒点击次数测试,也可以说是我们通俗所叫的手速测试。

    那么我们要怎么知道自己的CPS呢?

    一般网站上会有许多免费的CPS测试,大概框架都是这样:

cbb101a4a6ae8fdfe77be3ae33078037.png

    我们只需要在时间内不停点击“要点击的区域”,倒计时完后就可以计算出你的CPS了,CPS的计算公式如下:

时间内点击数量/时间(秒)

    于是,你决定自己做一个“CPS测试网站”,来测试自己的手速进步程度:

d52a953a39915c6bb1cc2d4b15adcf47.png

4f5f7e65c7bc8d749d2542fa2f7ad733.png

9b67f4d3eae343d410f567125f2d0727.png

2.回顾知识与网站框架

        我们之前在HTML和CSS基础网页设计和HTML和CSS进阶网页设计里讲到过html的基础知识,回顾一下之前的代码,温习一下知识吧~

    我们根据已有的知识写出代码:

<html>    <head>        <title>我的手速测试!title>        <style>                *{                    user-select: none;                }                    #main{                    background-color: forestgreen;                    width:450px;                    height:300px;                    margin-top: 150px;                    margin-left: 450px;                 }                    #main p{                    padding-top: 100px;                    font-size: 30px;                }                    img{                    width: 500px;                    height: 400px;                    margin-left: 350px;                }style>    head>    <body>        <h1 align="center" >在线手速测试h1>        <h2 align="center" id="clock">时间还剩10秒h2>        <div align="center" id="main">            <p id="inner" align="center">开始测试p>        div>    body>html>

    浏览器中打开,效果如下:

e51bebb4dbf6a912b98159004f25750b.png

    这里解释一下user-select: none这句代码的意思,就是不让用户选中网页内的任何文字,毕竟谁也不想在测试手速时屏幕一片蓝ee76097d8b6a13e896e51c63675cfba3.png

    另外,新出现的选择器如下:

选择器意义
#...id选择器,根据id选择元素
a b包含选择器,包含在a选择器选择的元素里的b选择器选择的元素
*通配选择器,所有元素
3.Javascript入门

    我们如果要检测点击或者倒计时的话,html就无能为力了。

    这时候,我们就要利用一个新的伙伴——“JavaScript”了,它是一个弱类型的基于对象语言,弱类型代表了他可以执行下面操作:

> 1+"1""11"> 0.1+1+"0""1.10"

    这未免令人大跌眼镜,JavaScript的变量定义方式也与众不同:

var 变量名=变量值;

    它既不能直接使用变量,也不需要指定变量类型,这也是他一个与众不同的点。

    Javascript的for循环、while循环、if语句的写法都是与c++相同的,没有那么奇奇怪怪。

    Javascript定义函数的方式如下:

function 函数名(参数列表){    函数体;}

    js的函数一般不会自己调用,一般都是做回调函数给html调用。

    Javascript可以这样嵌入到html内部:

<script lang="javascript">  javascript脚本script>

    也可以这样外部链接:

<script lang="javascript" src="js文件路径">script>

    为了方便,我们本期的项目全部使用直接嵌入。


    像bs4,我们也可以用javascript来获取一个节点并对这个节点进行操作:

var a=document.getElementById("abc");var b=document.getElementsByClassName("aba");...

    其中,document是js自带的一个对象,代指整个网页。

    通过查找之后,我们就可以对元素进行操作了:

a.innerHTMLa.setAttribute()...

    其中,innerHTML代表返回内部的html代码,如:

    我要关注    Program编程者公众号!

    那么a.innerHTML则为:

我要关注<a href="https://www.runoob.com/">Program编程者公众号!a>

    我们可以更改innerHTML:

a.innerHTML = "0"

    则可以把innerHTML置0,并会在网页上实时显示。


    div标签有一个onmousedown属性,他可以控制当鼠标点击div时,调用哪个js函数(回调函数)。

    那么我们就可以做一个点击计数的函数了:

function mouseButtonDown(){    var type = event.button;    if (type==0){       document.getElementById("inner").innerHTML=Number(document.getElementById("inner").innerHTML)+1;    }}

    其中,event是js自带的一个事件对象,event.button代表按下的是哪个键(0->左键  1->滚轮  2->右键),Number相当于int,用处是把字符串转换为数字(整数、小数)。

    我们把它设为回调函数:

<div align="center" id="main"  onmousedown="onmousedown()">     <p id="inner" align="center">0p>div>

    测试一下:

35de15010e59c11651beb51d13856f67.gif

    完美!接下来要做的就是实现倒计时了。

4.实现倒计时

    代码如下:

function clock(){    var c = document.getElementById("clock").innerHTML.replace(/[^0-9]/ig,"");                    if (c!="0"){        document.getElementById("clock").innerHTML="时间还剩"+(Number(c)-1)+"秒";    }else{        var whole = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.fjmingfeng.com%2Fimg%2F3%2F9862871851%2F62%2F18a8c08ce16a1e5136fb420e93d4b303%2F2043646092%2F1623011371.jpg&refer=http%3A%2F%2Fwww.fjmingfeng.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613458049&t=d0ccaf1c0d3f1c1c0e0cdff8b7e6637a";        document.getElementsByTagName("body")[0].innerHTML =         "+        whole+        ">"+        "

"

+ "

世界平均手速指数:6.2

世界纪录:14.1

你的平均手速指数是:"+ document.getElementById("inner").innerHTML/10+ ""; }}

    其中,第2行的replace是string(js中的字符串)的一个方法,作用是替换掉所有正则匹配的字符串,js中的正则如下(js中的正则可以用string表示,也可以用RegExp表示,详情参见菜鸟教程):

/正则主体/正则模式

    正则模式中,i表示不区分大小写,g表示全局匹配,m表示忽略换行。

    由于需要不断调用这个函数,那么我们需要用到一个新函数:

setInterval(函数,间隔时间(毫秒));

    相当于tkinter中的after,setInterval代表每隔多少毫秒执行这个函数,他返回一个code,我们可以用它来停止调用这个函数。

var code = setInterval(函数,间隔时间(毫秒));code = clearInterval(code);

    那么更改如下:

…………if (c!="0"){    document.getElementById("clock").innerHTML="时间还剩"+(Number(c)-1)+"秒";}else{    code=clearInterval(code);    …………}…………函数外:var code=setInterval(clock,1000);

    这样效果如下:

7a3c090f6c7c28958f7dad6daca6da1f.gif

    现在基本已经可以玩起来了,快去测测你的CPS是多少吧~

5.优化体验

    现在,用户必须一点开网页就开始点击,非常的不银杏,于是我们可以把初始化的操作封装到start函数里,再把它设为回调函数:

var code=0;function start(){    code=setInterval(clock,1000);    document.getElementById("main").setAttribute("onmousedown","mouseButtonDown()");    document.getElementById("inner").innerHTML="0";}
"center" id="main" onmousedown="start()"> <p id="inner" align="center">开始测试p></div>

    效果就是多了一个“开始测试”,点击后就可以开始计算CPS了,非常的银杏化50396d2648d85e1ebaab6db222b5d738.png

    今天你学废了吗?ae7e6007bdc7ea2b951bccd83c1c7f9b.png8b6e6980634b5dd3396f8a45044e98de.png

往期推荐

算法学习笔记:分治与归并排序

从零开始制作一个ip池(获取模块)

贴吧人是如何庆祝2021的?

用python平息一场文件夹的“叛乱”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
apmtrainer手速训练者是指通过特定的训练工具和方法,帮助提高个人手指操作速度和反应能力的人士。APM指的是每分钟行动次数(Actions Per Minute),这个指标主要用于衡量游戏中的操作速度和反应能力。 apmtrainer手速训练者通常会使用各种手指运动训练工具,如键盘、鼠标或者专门设计的手指训练材。通过不断的练习和反复训练,他们可以提高手指的灵活性、手眼协调能力和反应速度。在训练过程中,手速训练者需要不断地进行各种手指运动,如快速按键、移动鼠标、点击屏幕等等,以达到提高手速和反应能力的目的。 apmtrainer手速训练者在游戏竞技中扮演着重要的角色。在许多电子竞技比赛中,高手的手速和反应能力往往是决定胜负的关键因素。通过使用apmtrainer手速训练工具,他们可以锻炼出更快速、准确的手指动作,提高击键反应速度和操作效率,从而在游戏中获得更好的表现和竞争优势。 除了在电子竞技中,apmtrainer手速训练者在其他领域也有应用。例如,在音乐演奏中,演奏者需要有快速准确的手指动作来完成复杂的音符和乐技巧。apmtrainer手速训练者可以通过特定的训练方法和工具,帮助音乐家提高手指的灵敏度和速度,提升演奏水平。 总而言之,apmtrainer手速训练者是通过特定的训练工具和方法,帮助提高个人手指操作速度和反应能力的人。无论是在电子竞技、音乐演奏还是其他领域,他们的存在和训练是为了让人们能够更好地应对快速反应和手指运动的挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值