使用java实现游戏-命运方舟-自动化钓鱼

        最近闲来无事在家躺平,玩儿起了一款腾讯的游戏,发现里面一款生活小技能-钓鱼,非常的机械化和重复,于是想到可否实现模拟按键来替换人工完成这个操作。

        想来便动手了,之前工作所用java语言较为擅长一点,就决定采用这个语言来实现,java语言所提供的java.awt.robot对象可以方便的实现简单的模拟按键和点击操作。于是开始考虑编码;

        需要考虑的方面:出杆鼠标必须对准水面,水面在不同钓鱼点位置不均衡,所以必须做到可以配置,钓到鱼的反应会是屏幕中央出现感叹号,这个可以考虑获取屏幕中央像素颜色来判断,考虑自动化的程度,还应该加上生命气息的判断,和钓鱼装备工具的自动修理判断,最后还有30级钓鱼过后的撒网技能及其产生的小游戏(这个的产量非常大,不撒网的话产量会打对折)。

        

 /**
     * 钓鱼主流程
     * @param mouseX 钓鱼点X坐标
     * @param mouseY 钓鱼点Y坐标
     */
    private void fish(int mouseX,int mouseY){
        while (open) {
            //初始化钓点次数
            int count = NumberUtil.random(1, 4);
            AtomicInteger x = new AtomicInteger(NumberUtil.random(mouseX-xRange,mouseX+xRange));
            AtomicInteger y = new AtomicInteger(NumberUtil.random(mouseY-yRange,mouseY+yRange));
            //检查活力
            lifeHandle.handle(this::lifeOver,"生命气息检查");
            IntStream.range(0, count).forEach(l -> {
                //检查耐久
                durableHandle.handle(this::fixTool,"工具耐久检查");
                //拉网与否判断
                castNet.handle(this::castNetGame,netOpen,"钓鱼小游戏开始与否判断",()->{
                    //开始钓鱼
                    begin(x.get(), y.get());
                    AtomicBoolean hit = new AtomicBoolean(true);
                    int n = 0;//循环计数
                    while (hit.get()) {
                        robot.delay(700);
                        n++;
                        colorHandle.handle(()->{
                            hit.set(false);
                            //收杆
                            pack();
                        },"钓鱼命中判断");
                        if(n>50){
                            hit.set(false);
                        }
                    }
                });
            });

        }
    }

        这里贴上了主要流程的代码,整个程序代码还是比较简单的,调试多花点时间。为了防止被别有用心的坏人拿去利用,就贴剩余的一点代码了。个人还是很喜欢玩儿这款游戏的,也欢迎同样热爱的朋友一起来玩,欢迎私聊我

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来自远方的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值