研究Auto.js 順手寫了個腳本

0
回復
723
查看
打印 上一主題 下一主題
[復制鏈接]

32

主題

40

帖子

1525

安幣

Android大神

Rank: 6Rank: 6

樓主
發表于 2019-12-19 14:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面就直接附上代碼啦:
let deviceWidth = device.width;
let deviceHeight = device.height;
function startAntForest() {
    //進入支付寶
    launch("com.eg.android.AlipayGphone");
    sleep(5000);
    //判斷是否已經在游戲界面
    let gamePartHome = id("J_af_home").findOnce();
    //在首頁尋找 螞蟻深林和螞蟻莊園的入口
    let antForest = id("app_text").textContains("螞蟻森林").findOnce();
    if (antForest != null || gamePartHome != null) {
        //在螞蟻森林
        if (gamePartHome == null) {
            //進入螞蟻深林
            toastLog("進入螞蟻深林");
            click(antForest.bounds().centerX(), antForest.bounds().centerY());
            sleep(5000);
        }
        toastLog("查詢是否有能量可以收集");
        collectEnergy();
        //滑動半個屏幕
        swipe(deviceWidth / 2, deviceHeight * 0.8, deviceWidth / 2, deviceHeight * 0.2, 1000);
        //尋找定位點
        let weekTop = className("android.view.View").textContains("周排行榜").findOnce();
        if (weekTop != null) {
            weekTop.click();
            swipe(deviceWidth / 2, weekTop.bounds().top, deviceWidth / 2, 0, 1000);
        }
        toastLog("開始尋找偷能量");
        // seekToSteal(true);
        //去全部頁面
        let seekMore = className("android.view.View").textContains("查看更多好友").findOnce();
        if (seekMore != null) {
            seekMore.click();
            sleep(3000);
            let hasMmore = className("android.view.View").textContains("沒有更多了").findOnce() == null;
            while (hasMmore) {
                toastLog("下拉填滿數據");
                if (hasMmore) {
                    swipe(deviceWidth / 2, deviceHeight * 0.8, deviceWidth / 2, deviceHeight * 0.1, 1000);
                    sleep(500);
                    hasMmore = className("android.view.View").textContains("沒有更多了").findOnce() == null;
                }
            }
            toastLog("開始逐個尋找");
            seekToSteal(false);
        }
    }else{
        toastLog("不在游戲界面,也不再主界面,結束");
    }
}
function seekToSteal(simple) {
    if (simple) {
        let canSteal = className("android.widget.Button").textContains("可收取").findOnce() != null;
        while (canSteal) {
            stealAndBack(canSteal);
            //繼續尋找
            let canStealItem = className("android.widget.Button").textContains("可收取").findOnce();
            if (canStealItem != null) {
                canStealItem.click();
            } else {
                canSteal = false;
                break;
            }
        }
    } else {
        oneByOneClick();
    }
}
function oneByOneClick() {
    //4個是沒有的 5開始
    // let indexItem = className("android.view.View").text(5).findOne();
    let topTitle = className("android.view.View").text("周排行榜").findOnce();
    if (topTitle != null) {
        //找到最上級的老爹
        //還需要周到自己 編輯ID 一遍跳過 否則會出錯
        let item0Position = topTitle.parent().parent().parent().child(0).child(0).child(0).child(0).text();
        toastLog("當前自己所在排名" + item0Position);
        sleep(1000);
        let itemList = topTitle.parent().parent().parent().child(1);
        toastLog("集合整體數量" + itemList.childCount());
                                   function(){ //外匯點差 http://www.kaifx.cn/question/kaifx/1794.html
        for (let i = 0; i < itemList.childCount(); i++) {
            if (i == item0Position) {
                toastLog("自己跳過");
                sleep(1000);
                continue;
            }
            toastLog("" + i + "瞅瞅");
            let singleItem = itemList.child(i);
            stealAndBack(singleItem);
        }
    }
}
function stealAndBack(ui) {
    if (ui != null) {
        ui.click();
        sleep(3000);
        //判斷進入了游戲布局 否則不返回
        let gameV = id("J_app_outter").findOnce();
        if (gameV != null) {
            //開始偷
            collectEnergy();
            back();
            sleep(1000);
        }
    }
}
function collectEnergy() {
    let hasSelfPower = className("android.widget.Button").textContains("收集能量").findOnce() != null;
    while (hasSelfPower) {
        toastLog("開始收集");
        let collectSelf = className("android.widget.Button").textContains("收集能量").findOnce();
        if (collectSelf != null) {
            click(collectSelf.bounds().centerX(), collectSelf.bounds().centerY());
            sleep(300);
        } else {
            toastLog("采集完畢");
            hasSelfPower = false;
            break;
        }
    }
}
// oneByOneClick();
startAntForest();
因為是第一版 所以可能還有BUG

分享到:  QQ好友和群 QQ空間 微信
收藏
收藏0
支持
支持0
反對
反對0
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

領先的中文移動開發者社區
18620764416
7*24全天服務
意見反饋:[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粵ICP備15117877號 )

阿拉斯加垂钓APP下载
福彩带赚团队真的假的 66电竞比分网 二分彩哪个平台好 四川快乐十二开奖查询一定牛 福彩排列七玩法说明 三连码肖 武汉麻将必胜绝技 黑龙江快乐十分开奖彩票控 188足球比分网 股票入门基础知识怎 最多人玩的棋牌? p3近100期试机 北京pk10五分钟计划 捷报比分即时篮球 乐乐安徽麻将安卓官网 5分3D计划