62 lines
No EOL
1.8 KiB
Python
62 lines
No EOL
1.8 KiB
Python
import pyautogui
|
|
import time
|
|
|
|
|
|
class lumberjackBot():
|
|
|
|
__author__ = "EnriqueMoran"
|
|
|
|
def __init__(self, playX, playY, treeX, treeY):
|
|
self.playX = playX
|
|
self.playY = playY
|
|
self.treeX = treeX
|
|
self.treeY = treeY
|
|
|
|
def move(self, direction):
|
|
if direction == "left":
|
|
pyautogui.typewrite(['left'])
|
|
pyautogui.typewrite(['left'])
|
|
elif direction == "right":
|
|
pyautogui.typewrite(['right'])
|
|
pyautogui.typewrite(['right'])
|
|
|
|
def play(self):
|
|
while(1):
|
|
branch = pyautogui.screenshot(region=(treeX - 30, treeY - 130, 1, 1)) # Pixel of tree left side
|
|
obstacle = branch.getpixel((0,0))
|
|
end = pyautogui.screenshot(region=(treeX - 30, treeY - 100, 1, 1))
|
|
stop = end.getpixel((0,0))
|
|
if obstacle == (161, 116, 56):
|
|
self.move("right")
|
|
else:
|
|
self.move("left")
|
|
time.sleep(0.1) # Speed of lumberjack
|
|
if stop == (255,255,255):
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# LUMBERJACK WINDOWS MUST BE CLEAR
|
|
playX, playY = pyautogui.locateCenterOnScreen('playButton.png')
|
|
pyautogui.moveTo(playX, playY) # Start the game by pressing play button
|
|
pyautogui.click()
|
|
time.sleep(1)
|
|
treeX, treeY = pyautogui.locateCenterOnScreen('tree.png') # Recognize tree position
|
|
time.sleep(1)
|
|
print("Im playing...")
|
|
lumberjackBot(playX, playY, treeX, treeY).play()
|
|
|
|
|
|
|
|
|
|
''' SCORE:
|
|
|
|
0.15 -> 180, 188, 180
|
|
0.12 -> 246, 204, 72X, 222
|
|
0.11 -> 218X, 128X, 62X, 232, 6X
|
|
0.1 -> 12X, 84X, 16X, 6X, 28X
|
|
0.099 -> 164X, 108X, 114X
|
|
0.08 -> 24X, 34X, 6X, 4X, 24X
|
|
0.07 -> 4X, 8X, 2X
|
|
|
|
''' |