【问题标题】:How can I make my bot that plays piano tiles faster?如何让我的机器人更快地弹奏钢琴拼贴?
【发布时间】:2021-02-19 10:26:50
【问题描述】:

我编写了一个机器人脚本来在计算机上播放在线版本的钢琴块。它不断检查我屏幕上像素的颜色,看看是否有可点击的图块,如果有,我的机器人会执行一个功能来点击屏幕上的那个点。一切正常,但我想加快我的机器人检测像素并点击这些点的速度。任何帮助表示赞赏。代码如下:

from pyautogui import *
import pyautogui
import time
import keyboard
import random
import win32api, win32con


def click(x, y):
    win32api.SetCursorPos((x, y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
x_coord = 480
x = 0

while keyboard.is_pressed("q") == False:
    x = x + 1
    print(x)
    if pixel(481, x_coord)[0] == 17:
        click(481, x_coord)
    elif pixel(581, x_coord)[0] == 17:
        click(581, x_coord)
    elif pixel(681, x_coord)[0] == 17:
        click(681, x_coord)
    elif pixel(781, x_coord)[0] == 17:
        click(781, x_coord)

如果您需要有关代码或游戏的更多信息,请发表评论,我会尽力回复。

【问题讨论】:

    标签: python keyboard bots pyautogui


    【解决方案1】:

    首先你必须检查反应时间。这应该可以让您更好地了解问题。如果它太高(例如 ),问题可能是关于如何检测像素

    如果反应时间不错,但您想取得更多成就,您可以尝试其他库。我现在找不到,但我相信如果您使用正确的关键字,您可以轻松找到。我记得用过一个比 pyautogui 快的。

    【讨论】:

    • 当我执行代码时,while 循环内的所有代码执行大约需要 0.07 秒。随着钢琴瓷砖游戏的加速,这还不够快。玩街机模式时,获得的分数在 90-120 之间变化。这是我的代码适用的游戏:tanksw.com/piano-tiles
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2021-09-17
    • 2013-08-22
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多