game2.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import pyautogui
  2. import time
  3. class Game:
  4. # 模拟按键按下后释放,传入字符串数组
  5. def simulate_key_press(self, keys):
  6. # 模拟按下释放按键
  7. for key in keys:
  8. pyautogui.keyDown(key)
  9. time.sleep(0.1)
  10. pyautogui.keyUp(key)
  11. # 解析字符串数组,根据字符串第一位判断是否需要转换按键后,按压按键
  12. def parse_keys_and_simulate_key_press(self, keys):
  13. # 删除数组中非 w a s d 1 2 3 的其他字符串
  14. def remove_needless(keys):
  15. for i in range(len(keys)):
  16. if keys[i] not in ['w', 'a', 's', 'd', '1', '2', '3']:
  17. keys.pop(i)
  18. return keys
  19. if keys[0] == '1':
  20. keys = keys[1:]
  21. keys = remove_needless(keys)
  22. # 遍历数组,将123改为yui
  23. for i in range(len(keys)):
  24. if keys[i] == '1':
  25. keys[i] = 'y'
  26. elif keys[i] == '2':
  27. keys[i] = 'u'
  28. elif keys[i] == '3':
  29. keys[i] = 'i'
  30. elif keys[0] == '2':
  31. keys = keys[1:]
  32. keys = remove_needless(keys)
  33. # 遍历数组,将wsad改为上下左右,123改为789
  34. for i in range(len(keys)):
  35. if keys[i] == 'w':
  36. keys[i] = 'up'
  37. elif keys[i] == 's':
  38. keys[i] = 'down'
  39. elif keys[i] == 'a':
  40. keys[i] = 'left'
  41. elif keys[i] == 'd':
  42. keys[i] = 'right'
  43. elif keys[i] == '1':
  44. keys[i] = '7'
  45. elif keys[i] == '2':
  46. keys[i] = '8'
  47. elif keys[i] == '3':
  48. keys[i] = '9'
  49. self.simulate_key_press(keys)