Joguinho Guitar com Threads
Professor top do devaprender abriu a minha menteuser_8465584
python
a year ago
2.1 kB
15
Indexable
import pyautogui as p import threading import keyboard # Definição das cores e posições posicao_das_cores = { 'green': {'posicao': (1064, 1265), 'cor': (0, 152, 0), 'tecla': 'a'}, 'red': {'posicao': (1176, 1265), 'cor': (255, 0, 0), 'tecla': 's'}, 'yellow': {'posicao': (1289, 1265), 'cor': (244, 244, 2), 'tecla': 'j'}, 'blue': {'posicao': (1401, 1265), 'cor': (0, 152, 255), 'tecla': 'k'}, 'orange': {'posicao': (1462, 1268), 'cor': (255, 101, 0), 'tecla': 'l'}, } # Cores def checar_cor(info_cor): while True: if p.pixelMatchesColor(info_cor['posicao'][0], info_cor['posicao'][1], info_cor['cor']): p.press(info_cor['tecla']) # Saída def listen_for_exit(): keyboard.wait('1') print('Automação interrompida.') exit() print('Iniciando...') # Criando e iniciando threads para cada cor threads = [] for cor, info in posicao_das_cores.items(): t = threading.Thread(target=checar_cor, args=(info,)) t.daemon = True # Define a thread como daemon t.start() threads.append(t) # Iniciando thread para ouvir pela tecla de saída exit_thread = threading.Thread(target=listen_for_exit) exit_thread.daemon = True # Define a thread como daemon exit_thread.start() # Aguardando a finalização do programa (não necessário quando usando daemon threads) exit_thread.join() print('Fim') # Antes de usar as threads eu pensei em fazer combinações dos botões, mas alémn de trabalhoso, não iria resolver a situação # # if p.pixelMatchesColor(verde_pos[0],verde_pos[1],verde_cor) and p.pixelMatchesColor(vermelho_pos[0],vermelho_pos[1],vermelho_cor): # # p.hotkey('a','s') # # if p.pixelMatchesColor(vermelho_pos[0],vermelho_pos[1],vermelho_cor) and p.pixelMatchesColor(amarelo_pos[0],amarelo_pos[1],amarelo_cor): # # p.hotkey('s','j') # # if p.pixelMatchesColor(amarelo_pos[0],amarelo_pos[1],amarelo_cor) and p.pixelMatchesColor(azul_pos[0],azul_pos[1],azul_cor): # # p.hotkey('j','k')
Editor is loading...
Leave a Comment