游戏自动刷图script

# -*- coding: utf-8 -*-
import cv2
import pyautogui
import time
import random
import numpy as np


# 加载怪物图像
monster_image = cv2.imread('monster.png')

# 设置游戏窗口的左上角和右下角坐标
game_window_top_left = (316, 136)
game_window_bottom_right = (1052, 594)

# 设置技能按钮的位置
skill_button_positions = {
    '1': (758, 550),  # 技能1按钮的位置
    '2': (923, 436),  # 技能2按钮的位置
    '3': (813, 546),  # 技能3按钮的位置
    # ...
}

# 设置技能快捷键和冷却时间
skills = {
    '1': 35,  # 技能1的冷却时间为10秒
    '2': 7,  # 技能2的冷却时间为20秒
    '3': 17,  # 技能3的冷却时间为30秒
    # ...
}


# 循环检测怪物位置并击杀
while True:
    # 截取游戏窗口图像
    screenshot = pyautogui.screenshot(region=(game_window_top_left[0], game_window_top_left[1],
                                              game_window_bottom_right[0] - game_window_top_left[0],
                                              game_window_bottom_right[1] - game_window_top_left[1]))
    screenshot = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2BGR)

    # 在游戏窗口图像中寻找怪物位置
    result = cv2.matchTemplate(screenshot, monster_image, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)

    # 如果找到怪物
    if max_val <= 0.2:
        print("没找到怪物!")
    else:
        # 计算怪物的中心位置
        monster_center = (max_loc[0] + monster_image.shape[1] // 2, max_loc[1] + monster_image.shape[0] // 2)

        # 移动鼠标到移动按钮位置
        pyautogui.moveTo(455, 496)  # 移动按钮的位置
        pyautogui.mouseDown()  # 按下鼠标左键
        time.sleep(0.5)  # 等待0.5秒

        # 移动鼠标到怪物位置
        pyautogui.moveTo(game_window_top_left[0] + monster_center[0], game_window_top_left[1] + monster_center[1])
        pyautogui.mouseUp()  # 释放鼠标左键

        # 使用技能
        for skill, cooldown in skills.items():
            if cooldown == 0:
                # 使用技能
                pyautogui.moveTo(skill_button_positions[skill][0], skill_button_positions[skill][1])
                pyautogui.click()
                # 重置冷却时间
                skills[skill] = cooldown
            else:
                # 冷却时间减1
                skills[skill] -= 1

    # 随机等待一段时间,具体可调整。
    time.sleep(random.uniform(0.1, 0.5))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值