aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclarkzjw <[email protected]>2018-01-03 00:35:57 +0800
committerGitHub <[email protected]>2018-01-03 00:35:57 +0800
commitf4a786ad11fc659d649738d90113604c6f32567b (patch)
tree86bff11737648425a7ad80e5a88d3eb47afd3464
parentb34e3f94a29b6c4cd435eb558dce27314190247e (diff)
parent8570740ab6233dc96a7261ec723bc3d180a15a5a (diff)
downloadLumberJack-f4a786ad11fc659d649738d90113604c6f32567b.tar.gz
Merge pull request #1 from clarkzjw/cv
new version
-rw-r--r--.gitignore2
-rw-r--r--bot.py117
-rw-r--r--requirements.txt6
3 files changed, 49 insertions, 76 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..483de3d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
1.venv
2.idea
diff --git a/bot.py b/bot.py
index e8f7a3c..c419bbc 100644
--- a/bot.py
+++ b/bot.py
@@ -1,89 +1,54 @@
1import pyautogui as pg 1import time
2from time import sleep
3
4 2
5def move(_pos, _now): 3import mss
6 if _pos == 'left' and _now == 'left': 4import pyautogui as pg
7 pg.typewrite(['left']) 5from numpy import array, uint8
8 pg.typewrite(['left'])
9 elif _pos == 'left' and _now == 'right':
10 pg.typewrite(['right'])
11 pg.typewrite(['right'])
12 elif _pos == 'right' and _now == 'right':
13 pg.typewrite(['right'])
14 pg.typewrite(['right'])
15 elif _pos == 'right' and _now == 'left':
16 pg.typewrite(['left'])
17 pg.typewrite(['left'])
18 6
19width, height = pg.size() 7#from keyboard import send
20width *= 0.5
21pg.moveTo(333, 600)
22pg.click()
23 8
24posY = [360, 260, 160] 9from pynput.keyboard import Key, Controller
25posX = [276, 398] 10keyboard = Controller()
26 11
27q = ['left', 'left', 'left'] 12def begin():
13 pg.click(440, 900, 2)
28 14
29im = pg.screenshot(region=(0, 0, width, height))
30l0 = im.getpixel((posX[0], posY[0]))
31l1 = im.getpixel((posX[0], posY[1]))
32l2 = im.getpixel((posX[0], posY[2]))
33 15
34r0 = im.getpixel((posX[1], posY[0])) 16TREE = uint8([56, 116, 161])
35r1 = im.getpixel((posX[1], posY[1]))
36r2 = im.getpixel((posX[1], posY[2]))
37 17
38if l0[0] == 161 and l0[1] == 116 and l0[2] == 56: 18# from left to right
39 q[0] = 'right' 19posY = [360, 460]
40 pos = 'right' 20# from bottom to up
41else: 21posX = [640, 540, 440, 340, 240, 140]
42 pos = 'left'
43if l1[0] == 161 and l1[1] == 116 and l1[2] == 56:
44 q[1] = 'right'
45if l2[0] == 161 and l2[1] == 116 and l2[2] == 56:
46 q[2] = 'right'
47 22
48qlen = 3
49 23
50while True: 24def is_tree(c1):
51 if qlen == 3: 25 if c1[0] == TREE[0] and c1[1] == TREE[1] and c1[2] == TREE[2]:
52 now = q[0] 26 return True
53 move(pos, now) 27 else:
54 now = q[1] 28 return False
55 move(pos, now)
56 now = q[2]
57 move(pos, now)
58 qlen = 0
59 elif qlen == 0:
60 im = pg.screenshot(region=(0, 0, width, height))
61 l0 = im.getpixel((posX[0], posY[0]))
62 l1 = im.getpixel((posX[0], posY[1]))
63 l2 = im.getpixel((posX[0], posY[2]))
64 29
65 r0 = im.getpixel((posX[1], posY[0]))
66 r1 = im.getpixel((posX[1], posY[1]))
67 r2 = im.getpixel((posX[1], posY[2]))
68 30
69 if l0[0] == 161 and l0[1] == 116 and l0[2] == 56: 31with mss.mss() as sct:
70 q[0] = 'right' 32 screen = sct.monitors[1]
71 else: 33 screen["width"] = screen["width"] / 2.0
72 q[0] = 'left' 34 begin()
73 if l1[0] == 161 and l1[1] == 116 and l1[2] == 56:
74 q[1] = 'right'
75 else:
76 q[1] = 'left'
77 if l2[0] == 161 and l2[1] == 116 and l2[2] == 56:
78 q[2] = 'right'
79 else:
80 q[2] = 'left'
81 35
82 now = q[0] 36 while True:
83 move(pos, now) 37 img = array(sct.grab(screen))
84 now = q[1] 38 moves = list()
85 move(pos, now) 39 left = [img[x, posY[0]] for x in posX]
86 now = q[2] 40 for i in range(6):
87 move(pos, now) 41 if is_tree(left[i]):
42 keyboard.press(Key.right)
43 keyboard.release(Key.right)
44 time.sleep(0.014)
45 keyboard.press(Key.right)
46 keyboard.release(Key.right)
47 else:
48 keyboard.press(Key.left)
49 keyboard.release(Key.left)
50 time.sleep(0.014)
51 keyboard.press(Key.left)
52 keyboard.release(Key.left)
53 time.sleep(0.17)
88 54
89 sleep(0.095)
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..f30d3d3
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,6 @@
1keyboard==0.11.0
2mss==3.1.1
3numpy==1.13.3
4PyAutoGUI==0.9.36
5pyobjc==4.1
6pyobjc-core==4.1
Powered by cgit v1.2.3 (git 2.41.0)