返回列表 发帖

TOP

本帖最后由 bbaa 于 2017-7-21 18:09 编辑


根据@老刘的代码基础上修改
添加了
1.Token改变后的赢家显示
修改了@老刘用Split取得数组改成Array
2.经测试双开速度能勉强达到与523066680的分段多线程方法不相上下
二分法:
Const [宿主] = "CSCRIPT.EXE" 'WSCRIPT
If Not UCase(Right(WScript.FullName,11)) = UCase([宿主]) Then
Dim Args,Arg
For Each Arg in Wscript.Arguments
Args=Args&Chr(&H20)&Chr(&H22)&Arg&Chr(&H22)
Next
CreateObject("Wscript.Shell").Run _
[宿主]&Chr(&H20)&Chr(&H22)&WScript.ScriptFullName&Chr(&H22)&Args
WScript.Quit
End If
on error resume next
If MsgBox("是否查看原贴?",1) = 1 Then CreateObject("Wscript.Shell").run "http://www.bathome.net/thread-44616-1-1.html"
With CreateObject("MSXML2.XMLHTTP")
.Open "POST", "http://bbaass.tk/math/", False
.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
.Send "send=reg&username=老刘"
End With
dim tokens,[大鱼小鱼或等鱼?],[Arr返回的数据]
High = 10001
Low = -1
Do
Do
Mid_=(High+Low)\2
[Arr返回的数据] = Math(Mid_)
[大鱼小鱼或等鱼?] = [Arr返回的数据](0)
if tokens<>[Arr返回的数据](1) then
If [大鱼小鱼或等鱼?] = "=" then
wscript.echo "Win!The number is "&Mid_
Else
Wscript.echo "The token has changed By:"&[Arr返回的数据](2)
End if
tokens=[Arr返回的数据](1)
High = 10001
Low = -1
Exit do
Else
Select Case [大鱼小鱼或等鱼?]
Case ">"
WScript.Echo ">,so try "&Low&","&Mid_
High = Mid_
Case "<"
WScript.Echo "<,so try "&Mid_&","&High
Low = Mid_
End Select
End if
Loop
Loop
Function Math(num)
dim [返回数据]
With CreateObject("MSXML2.XMLHTTP")
.Open "POST","http://bbaass.tk/math/", False
.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
.send "send=Answer&math=" & num & "&username=老刘"
[返回数据] = .responseText
Math = Array(Split(Split([返回数据],",")(2),"""")(3),Split([返回数据],"""")(13),Split(Split([返回数据],",")(1),"""")(3))
End With
End FunctionCOPY
随机摸鱼法:
Const [宿主] = "CSCRIPT.EXE" 'WSCRIPT
If Not UCase(Right(WScript.FullName,11)) = UCase([宿主]) Then
Dim Args,Arg
For Each Arg in Wscript.Arguments
Args=Args&Chr(&H20)&Chr(&H22)&Arg&Chr(&H22)
Next
CreateObject("Wscript.Shell").Run _
[宿主]&Chr(&H20)&Chr(&H22)&WScript.ScriptFullName&Chr(&H22)&Args
WScript.Quit
End If
on error resume next
If MsgBox("是否查看原贴?",1) = 1 Then CreateObject("Wscript.Shell").run "http://www.bathome.net/thread-44616-1-1.html"
With CreateObject("MSXML2.XMLHTTP")
.Open "POST", "http://bbaass.tk/math/", False
.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
.Send "send=reg&username=老刘"
End With
dim tokens,[大鱼小鱼或等鱼?],[Arr返回的数据]
High = 10001
Low = -1
Do
Do
Randomize()
Mid_=Fix((High - Low + 1) * Rnd + Low)
[Arr返回的数据] = Math(Mid_)
[大鱼小鱼或等鱼?] = [Arr返回的数据](0)
if tokens<>[Arr返回的数据](1) then
If [大鱼小鱼或等鱼?] = "=" then
wscript.echo "Win!The number is "&Mid_
Else
Wscript.echo "The token has changed By:"&[Arr返回的数据](2)
End if
tokens=[Arr返回的数据](1)
High = 10001
Low = -1
Exit do
Else
Select Case [大鱼小鱼或等鱼?]
Case ">"
WScript.Echo ">,so try "&Low&","&Mid_
High = Mid_
Case "<"
WScript.Echo "<,so try "&Mid_&","&High
Low = Mid_
End Select
End if
Loop
Loop
Function Math(num)
dim [返回数据]
With CreateObject("MSXML2.XMLHTTP")
.Open "POST","http://bbaass.tk/math/", False
.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
.send "send=Answer&math=" & num & "&username=老刘"
[返回数据] = .responseText
Math = Array(Split(Split([返回数据],",")(2),"""")(3),Split([返回数据],"""")(13),Split(Split([返回数据],",")(1),"""")(3))
End With
End FunctionCOPY
1

评分人数

TOP

本帖最后由 bbaa 于 2017-7-21 17:38 编辑

回复 121# 523066680


    厉害了
    PS:
Post send:
getchangeforminutebytext 一分钟
getchangefortenminutebytext 十分钟
getchangeforhourbytext 一小时
getchangeforhalfhourbytext 半小时
获取图片
Get page:
imagetop [获取榜单]
imageminute
imagetenminute
imagehour
imagehalfhour

这么长的函数我要吐了....
可以获取内置的检测数据[采样时间固定....]
    我去加个10分钟和半小时的
    曲线图明天应该就能完成,数据采样应该是5分钟一次
$change_d=array();
$timestamp=time()-(int)$change["change"]["minute"]["last"]["Timestamp"];
if ($timestamp>=60||count($change["change"]["minute"]["last"]["user"])==0) {
if((int)$change["change"]["minute"]["last"]["Timestamp"]!==0) {
foreach($change["change"]["minute"]["last"]["user"] as $key=>$value) {
$change_d[$key]=(int)$json["Username"][$key]["Count"]-(int)$value;
}
arsort($change_d);
unset($change["change"]["minute"]["done"]);
$change["change"]["minute"]["done"]["user"]=$change_d;
$change["change"]["minute"]["done"]["lastu"]=$change["change"]["minute"]["last"]["user"];
}
unset($change["change"]["minute"]["last"]);
foreach($json["Username"] as $key=>$value) {
$change["change"]["minute"]["last"]["user"][$key]=(int)$value["Count"];
}
$change["change"]["minute"]["last"]["Timestamp"]=time();
}
unset($change_d);
$change_d=array();
$timestamp=time()-(int)$change["change"]["hour"]["last"]["Timestamp"];
if ($timestamp>=3600||count($change["change"]["hour"]["last"]["user"])==0) {
if((int)$change["change"]["hour"]["last"]["Timestamp"]!==0) {
foreach($change["change"]["hour"]["last"]["user"] as $key=>$value) {
$change_d[$key]=(int)$json["Username"][$key]["Count"]-(int)$value;
}
arsort($change_d);
unset($change["change"]["hour"]["done"]);
$change["change"]["hour"]["done"]["user"]=$change_d;
$change["change"]["hour"]["done"]["lastu"]=$change["change"]["hour"]["last"]["user"];
}
unset($change["change"]["hour"]["last"]);
foreach($json["Username"] as $key=>$value) {
$change["change"]["hour"]["last"]["user"][$key]=(int)$value["Count"];
}
$change["change"]["hour"]["last"]["Timestamp"]=time();
}
unset($change_d);
$change_d=array();
$timestamp=time()-(int)$change["change"]["tenminute"]["last"]["Timestamp"];
if ($timestamp>=600||count($change["change"]["tenminute"]["last"]["user"])==0) {
if((int)$change["change"]["tenminute"]["last"]["Timestamp"]!==0) {
foreach($change["change"]["tenminute"]["last"]["user"] as $key=>$value) {
$change_d[$key]=(int)$json["Username"][$key]["Count"]-(int)$value;
}
arsort($change_d);
unset($change["change"]["tenminute"]["done"]);
$change["change"]["tenminute"]["done"]["user"]=$change_d;
$change["change"]["tenminute"]["done"]["lastu"]=$change["change"]["tenminute"]["last"]["user"];
}
unset($change["change"]["tenminute"]["last"]);
foreach($json["Username"] as $key=>$value) {
$change["change"]["tenminute"]["last"]["user"][$key]=(int)$value["Count"];
}
$change["change"]["tenminute"]["last"]["Timestamp"]=time();
}
unset($change_d);
$change_d=array();
$timestamp=time()-(int)$change["change"]["halfhour"]["last"]["Timestamp"];
if ($timestamp>=1800||count($change["change"]["halfhour"]["last"]["user"])==0) {
if((int)$change["change"]["halfhour"]["last"]["Timestamp"]!==0) {
foreach($change["change"]["halfhour"]["last"]["user"] as $key=>$value) {
$change_d[$key]=(int)$json["Username"][$key]["Count"]-(int)$value;
}
arsort($change_d);
unset($change["change"]["halfhour"]["done"]);
$change["change"]["halfhour"]["done"]["user"]=$change_d;
$change["change"]["halfhour"]["done"]["lastu"]=$change["change"]["halfhour"]["last"]["user"];
}
unset($change["change"]["halfhour"]["last"]);
foreach($json["Username"] as $key=>$value) {
$change["change"]["halfhour"]["last"]["user"][$key]=(int)$value["Count"];
}
$change["change"]["halfhour"]["last"]["Timestamp"]=time();
}
option::set('bbaa_math_change',json_encode($change));
/* Model_Change_Get End*/COPY
暴力复制法 懒得简化咯
1

评分人数

TOP

本帖最后由 bbaa 于 2017-7-22 13:11 编辑

回复 121# 523066680


    今晚出去玩,现在才完成收集
部分代码公布....
发现代码有疏漏,导致无法构成数组现以修复
/* 如果在主项中已经没有这个用户,在数据中删除掉 End*/
foreach($json["Username"] as $key=>$value) {
If (time()-(int)$dataqx[$key]["Timestamp"]>=300) {
$dataqx[$key]["Timestamp"]=time();
if((int)Count($dataqx[$key]["data"])<12) {
$dataqx[$key]["data"][Count($dataqx[$key]["data"])]=$value["Count"];
} else {
/* 对于data12的一个处理 {*/
$temp=Array(); //对foreach的处理机制做出应对
foreach ($dataqx[$key]["data"] as $keyt=>$val) {
if ((int)$keyt>0&&(int)$keyt<=12) {
$temp[$key]["data"][Count($temp[$key]["data"])]=$val;
}
}
Unset($dataqx[$key]["data"]);
$dataqx[$key]["data"]=$temp[$key]["data"]; //合并
Unset($temp);
/* 对于data12的一个处理 }*/
//$dataqx[$key]["data"][Count($dataqx[$key]["data"])]=$value["Count"];
unset ($count);
}
}
}
option::set('bbaa_math_text',json_encode($dataqx));
/* Model:曲线图变化速度信息收集模块 End */COPY
悄悄告诉你我是隐藏的彩蛋,找到没奖

TOP

本帖最后由 bbaa 于 2017-7-22 16:45 编辑

回复 124# codegay


    ?admin 滑稽
开个玩笑....

TOP

回复 126# codegay


    恭喜你才对了
之前我改成了666666

TOP

回复 126# codegay


    这样不用开浏览器 不卡

TOP

回复 129# 523066680


    曲线图静态版本出来了,你不去看看么?

TOP

本帖最后由 bbaa 于 2017-7-22 17:09 编辑

回复 129# 523066680

    图片是白色背景,这里因为透明通道alpha的原因变黑....
   
    http://bbaass.tk/math/?page=change-ipage
2

评分人数

TOP

回复 132# 523066680


    完全random
建议不错,刚才在和happy聊
你也不是在练习多线程吗

TOP

本帖最后由 bbaa 于 2017-7-23 14:21 编辑

回复 134# 523066680


    勉强看懂...一点点.............
曲线图AJAX更新已经发布
点击打开

前端使用类库
chart.js
jquery.....
后端用https://git.oschina.net/kenvix/Tieba-Cloud-Sign的数据库操作类[我太懒了.....][之前还用文件存储来着?]
信息收集
/* Model:曲线图变化速度信息收集模块 Start */
$dataqx=json_decode(str_replace("\\\u","\u",option::get("bbaa_math_text")),true);
$json=Json_decode(getsql(),true);
/* 如果在主项中已经没有这个用户,在数据中删除掉 */
foreach($dataqx as $zh=>$va) {
if(empty($json["Username"][$zh])) {
Unset($dataqx[$zh]);
}
}
/* 如果在主项中已经没有这个用户,在数据中删除掉 End*/
//$times=time()-(int)$change["change"]["fminute"]["last"]["Timestamp"];
foreach ($change["change"]["minute"]["done"]["user"] as $key=>$value) {
If ($qst) {
//unset($dataqx[$key]["Timestamp"]);
if((int)Count($dataqx[$key]["data"])<12) {
$dataqx[$key]["data"][Count($dataqx[$key]["data"])]=$value;
} else {
/* 对于data12的一个处理 {*/
$temp=Array(); //对foreach的处理机制做出应对
foreach ($dataqx[$key]["data"] as $keyt=>$val) {
if ((int)$keyt>0&&(int)$keyt<12) {
$temp[$key]["data"][Count($temp[$key]["data"])]=$val;
}
}
Unset($dataqx[$key]["data"]);
$dataqx[$key]["data"]=$temp[$key]["data"]; //合并
Unset($temp);
/* 对于data12的一个处理 }*/
$dataqx[$key]["data"][Count($dataqx[$key]["data"])]=$value;
unset ($count);
}
}
}
/* Model:曲线图变化速度信息收集模块 End *COPY
case "getlinedata":
$json=Json_decode(getsql(),true);
$Timestamp=$change_tmp["change"]["minute"]["last"]["Timestamp"];
$if_date=date("H:i",$Timestamp);
if($if_date==$_POST["Timestamp"]) {die(json_encode(array("Code"=>400)));}
unset($change_tmp);
$change=json_decode(str_replace("\\\u","\u",option::get("bbaa_math_text")),true);
$tmp=Array();
foreach($_POST["list"] as $value) {
$tmp[$value]=$change[$value]["data"][count($change[$value]["data"])-1];
}
die(json_encode(array("Code"=>200,"data"=>$tmp,"Timestamp"=>$if_date)));
unset($tmp);
break;COPY
后端更新频率一分钟一次
前端get频率10秒一次

点击打开
外链图片展示
因alpha(透明)通道等原因背景为黑
2

评分人数

TOP

朋友推荐我听这首歌
拿出来祸害人类
http://music.163.com/#/m/song?id=4466775&userid=379014753

TOP

返回列表