This repository has been archived by the owner on Aug 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKeyboardListener.py
87 lines (76 loc) · 2.95 KB
/
KeyboardListener.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
import keyboard
class KeyboardListener:
def __init__(self, list_piece):
self.current_piece_index = 0
self.list_piece = list_piece
# Cette fonction gère l'action a effectuer en fonction de la touche appuyée
def press(self):
key = ""
# Mapping entre touches de clavier et fonctions
print("\nAppuyez sur une touche pour vous déplacer ou continuer")
while True:
if keyboard.is_pressed("left"):
key = self.handleLeftKey()
break
elif keyboard.is_pressed("right"):
key = self.handleRightKey()
break
elif keyboard.is_pressed("up"):
key = self.handleUpKey()
break
elif keyboard.is_pressed("down"):
key = self.handleDownKey()
break
elif keyboard.is_pressed("1"):
key = self.handleKeyOne()
break
elif keyboard.is_pressed("2"):
key = self.handleKeyTwo()
break
elif keyboard.is_pressed("esc"):
# le programme se termine automatiquement lorsqu'on appuie sur la touche esc / échap
key = "esc"
break
return key
# Cette fonction gère la touche Fleche Gauche
def handleLeftKey(self):
print("\r\nPièce précédente")
if self.current_piece_index > 0:
self.current_piece_index = self.current_piece_index - 1
else:
self.current_piece_index = len(self.list_piece)-1
return self.getCurrentRoom()
# Cette fonction gère la touche Fleche Droite
def handleRightKey(self):
print("\r\nPièce suivante")
if self.current_piece_index < len(self.list_piece)-1:
self.current_piece_index = self.current_piece_index + 1
else:
self.current_piece_index = 0
return self.getCurrentRoom()
# Cette fonction gère la touche Fleche Haut
def handleUpKey(self):
print("\r\nPremière pièce")
self.current_piece_index = 0
return self.getCurrentRoom()
# Cette fonction gère la touche Fleche Down
def handleDownKey(self):
if not keyboard.is_pressed("2"):
print("\r\nDernière pièce")
self.current_piece_index = len(self.list_piece)-1
return self.getCurrentRoom()
# Cette fonction gère la touche 1
def handleKeyOne(self):
if keyboard.is_pressed("1"):
print("\r\nOui")
return "Oui"
# Cette fonction gère la touche 2
def handleKeyTwo(self):
if keyboard.is_pressed("2"):
print("\r\nNon")
return "Non"
# Cette fonction retourne la piece dans laquelle on se trouve présentement
def getCurrentRoom(self):
print("\nPièce courrante: " +
self.list_piece[self.current_piece_index] + "\n")
return self.list_piece[self.current_piece_index]