簡體   English   中英

pyatuo gui Piano Tiles 機器人問題

[英]pyatuo gui Piano Tiles bot issues

這是我使用 pyauto gui 為 piano tiles 機器人編寫的一些代碼。 我希望它能自動擊敗游戲。 一些相關信息:我已經仔細檢查了機器人將檢查顏色是否為黑色的所有像素。 我使用以下方法執行此操作:pyautogui.pixel(1196,650)[0] == 43。這里的主要問題是,當我在打開鋼琴塊應用程序的情況下運行程序時,它只會單擊第一個塊,然后單擊同一個方塊再次輸掉比賽。 我也不能通過按 q 退出程序,我不明白為什么。 我在我的 macbook pro 上運行這一切,我是編程新手,所以任何建議都有幫助! 我一直使用的 piano tiles 網站是http://tanksw.com/piano-tiles/ 提前致謝!

import time
import keyboard
import random

#Tile 1 position: x=1196 y=650
#Tile 2 position: x=1301 y=650
#Tile 3 position: x=1386 y=650
#Tile 4 position: x=1507 y=650

# while True:q
#     print(pyautogui.position())
#     time.sleep(1)

def click(x,y):
    pyautogui.position(x,y)
    pyautogui.click()
    time.sleep(.01)

while keyboard.is_pressed("q") == False:

    while True:
        pyautogui.moveTo(1196,650)
        if pyautogui.pixel(1196,650)[0] == 43:
            click(1196,650)
        elif pyautogui.moveTo(1301,650):
            if pyautogui.pixel(1301, 650)[0] == 43:
                click(1301, 650)
        elif pyautogui.moveTo(1386,650):
            if pyautogui.pixel(1386, 650)[0] == 43:
                    click(1386, 650)
        elif pyautogui.moveTo(1507,650):
            if pyautogui.pixel(1507, 650)[0] == 43:
                    click(1507, 650)```

要解決鍵盤問題,請將其更改為

while True:
    pyautogui.moveTo(1196,650)
    if pyautogui.pixel(1196,650)[0] == 43:
        click(1196,650)
    elif pyautogui.moveTo(1301,650):
        if pyautogui.pixel(1301, 650)[0] == 43:
            click(1301, 650)
    elif pyautogui.moveTo(1386,650):
        if pyautogui.pixel(1386, 650)[0] == 43:
                click(1386, 650)
    elif pyautogui.moveTo(1507,650):
        if pyautogui.pixel(1507, 650)[0] == 43:
                click(1507, 650)

編輯:

    if (keyboard.is_pressed("q")):
        break

對於另一個問題,嘗試添加更長的延遲,這是因為塊不會消失,滑下網格,因此顏色不會改變一點點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM