dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻( 二 )


dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻

文章插图
例如,翻开的第四排第二张图是紫色的羊 。
dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻

文章插图
那么,接下去应该是:
点开第四排第一张图
点开第一排第一张图
点开第二排第二张图
点开第一排第二张图
点开第一排第三张图
以此类推……
我们需要记录下这一组要点击的坐标
打开抓抓放大镜,移动到第四排的第一张图片上记下它的坐标
再移动到第一排第一张图片的位置上记下它的坐标 ?
这么麻烦?
dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻

文章插图
麻烦的事情还是交给脚本来做吧 。
另写一个脚本专门用来获取坐标:
////////翻开第四排第二个图片////////////////MoveTo x+451,y+467LeftClick 1Delay 1000////////找第四排第二个图片是哪张图片///////For i= 1 to 5FindPic x+423,y+420,x+500,y+474,"D:卡牌翻翻" & i &".bmp",0.9,intX,intYIf intX > 0 And intY > 0 ThenTracePrint i布局=iEnd IfNext复制代码
启动“获取坐标”脚本之后,按照布局,依次右击图片
dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻

文章插图
dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻

文章插图
红色框框里的就是我们需要的坐标组了,复制保存起来 。
用这种方法将五种布局需要点击的坐标组获取到 。
5、根据布局,选择对应的坐标字符串
代码:
Hwnd = Plugin.Window.Find("地下城与勇士", "地下城与勇士")Call Plugin.Window.Move(hwnd,0,0)For 32 //16张图片本应该循环16次,但是由于waitclick命令,鼠标按下弹起都会触发一次,所以这里需要循环32次last_click=WaitClick()If last_click=32773 then //判断鼠标右键是不是按下GetCursorPos x, yTracePrint x & "," & y坐标字符串 = 坐标字符串 & "x+" & x & "," &"y+" & y & "|"End ifNextTracePrint 坐标字符串复制代码
6、分割坐标字符串,依次点击坐标
代码:
////////根据布局,选择对应的坐标字符串///////Select Case 布局Case 1 //紫色的羊,第一种布局坐标字符串 ="x+373,y+465|x+372,y+110|x+449,y+231|x+456,y+118|x+552,y+119|x+629,y+113|x+642,y+233|x+366,y+226|x+548,y+235|x+367,y+350|x+460,y+353|x+553,y+349|x+553,y+469|x+636,y+344|x+641,y+468"Case 2 // 粉红色的羊,第二种布局坐标字符串 ="x+459,y+241|x+371,y+125|x+638,y+120|x+459,y+114|x+561,y+117|x+377,y+240|x+558,y+244|x+636,y+242|x+634,y+477|x+371,y+353|x+552,y+359|x+448,y+356|x+633,y+354|x+383,y+474|x+548,y+478"Case 3 //绿色的羊,第三种布局坐标字符串 ="x+372,y+346|x+361,y+113|x+461,y+244|x+458,y+109|x+549,y+354|x+548,y+116|x+641,y+234|x+645,y+116|x+372,y+481|x+368,y+228|x+556,y+475|x+552,y+233|x+631,y+353|x+465,y+350|x+632,y+467"Case 4 //**的羊,第四种布局坐标字符串 ="x+387,y+464|x+366,y+120|x+367,y+344|x+466,y+116|x+364,y+233|x+547,y+121|x+637,y+345|x+646,y+103|x+645,y+239|x+462,y+236|x+559,y+244|x+451,y+349|x+635,y+470|x+550,y+358|x+549,y+464"Case 5 //蓝色的羊,第五种布局坐标字符串 ="x+459,y+346|x+373,y+111|x+372,y+244|x+465,y+116|x+466,y+233|x+555,y+117|x+645,y+119|x+546,y+235|x+640,y+472|x+640,y+232|x+544,y+470|x+378,y+353|x+369,y+464|x+553,y+360|x+633,y+360"End Select复制代码
Execute知识相关:
【dnf卡牌宿命之战 dnf卡牌对对翻在哪里翻】【院刊】-【201410期】 神奇的Execute语句
整体代码
////////分割坐标字符串,依次点击坐标//////////////坐标 = Split(坐标字符串, "|")For i = 0 To UBound(坐标)Execute "MoveTo " & 坐标(i)LeftClick 1Delay 1000Next复制代码

相关经验推荐