-
Notifications
You must be signed in to change notification settings - Fork 0
/
controller.py
105 lines (96 loc) · 2.3 KB
/
controller.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Gideon Marsh
# github.com/GideonMarsh
from pynput.keyboard import Key, Controller
from time import sleep
keyboard = Controller()
keysPressed = [0,0,0,0,0,0]
def loadSave():
sleep(0.06)
keyboard.press(Key.down)
sleep(0.03)
keyboard.release(Key.down)
sleep(0.06)
keyboard.press(Key.enter)
sleep(0.03)
keyboard.release(Key.enter)
sleep(0.06)
keyboard.press(Key.right)
sleep(0.03)
keyboard.release(Key.right)
sleep(0.06)
keyboard.press(Key.enter)
sleep(0.03)
keyboard.release(Key.enter)
sleep(0.06)
keyboard.press(Key.enter)
sleep(0.03)
keyboard.release(Key.enter)
sleep(0.06)
keyboard.press(Key.esc)
sleep(0.03)
keyboard.release(Key.esc)
sleep(0.06)
def openMenu():
sleep(0.01)
keyboard.press('`')
sleep(0.03)
keyboard.release('`')
sleep(0.01)
def closeMenu():
sleep(0.01)
keyboard.press(Key.esc)
sleep(0.03)
keyboard.release(Key.esc)
sleep(0.01)
def resetInputMemory():
global keysPressed
keysPressed = [0,0,0,0,0,0]
# game controls are received in a list in the following order:
# up, right, down, left, jump, shoot
# if input is greater than 0, button is pressed
# returns true if an input changed, false otherwise
def changeInputs(inputs):
global keysPressed
k = [0,0,0,0,0,0]
if (inputs[0] > 0):
keyboard.press(Key.up)
k[0] = 1
else:
keyboard.release(Key.up)
if (inputs[1] > 0):
keyboard.press(Key.right)
k[1] = 1
else:
keyboard.release(Key.right)
if (inputs[2] > 0):
keyboard.press(Key.down)
k[2] = 1
else:
keyboard.release(Key.down)
if (inputs[3] > 0):
keyboard.press(Key.left)
k[3] = 1
else:
keyboard.release(Key.left)
if (inputs[4] > 0):
keyboard.press('x')
k[4] = 1
else:
keyboard.release('x')
if (inputs[5] > 0):
keyboard.press('z')
k[5] = 1
else:
keyboard.release('z')
if not k == keysPressed:
keysPressed = k
return True
return False
def cutoffInputs():
keyboard.release(Key.up)
keyboard.release(Key.right)
keyboard.release(Key.down)
keyboard.release(Key.left)
keyboard.release('x')
keyboard.release('z')
keysPressed = (0,0,0,0,0,0)